高并发场景下的限流策略在高并发的场景下,我们的优化和保护系统的方式通常有:多级缓存、资源隔离、熔断降级、限流等等。今天我们来聊聊限流。为什么需要限流举个比较简单的例子,正常来说,一个员工A他每天能够处理的工作是10个,突然某一天来了100个工作量,这时候,如果员工A还处理100个,只有一种可能,这个员工被压垮。如果我们能预先知道会有100个任务会来,我们通过增加员工数或定义消息队列等等来临时解决。
分类:
其他好文 时间:
2020-10-29 09:24:41
阅读次数:
18
参考文章 https://www.cnblogs.com/kiba/p/11703073.html和https://www.cnblogs.com/longlongogo/p/6489574.html 经过代码检测两份文章的代码部分不适用,只参考了RabbitMQ的介绍和安装部分。 安装版本是 ra ...
RPC和消息队列 1 消息队列 1 两个服务调用:restful(http协议),rpc(远程过程调用) 2 rpc:远程过程调用 -gRPC:谷歌出的,跨语言 3 不管用rpc或者restful来通信,涉及到同步,异步 4 消息队列解决的问题 -应用解耦 -流量消峰 -消息分发(发布订阅:观察者模 ...
分类:
其他好文 时间:
2020-10-22 22:15:29
阅读次数:
23
1.rabbitmq使用 - 目的: 可以下载镜像,使用rabbitmq- 操作流程: RabbitMQ介绍和使用 1,RabbitMQ介绍 消息队列是消息在传输的过程中保存消息的容器。 现在主流消息队列有:RabbitMQ、ActiveMQ、Kafka等等。 RabbitMQ和ActiveMQ比较 ...
分类:
其他好文 时间:
2020-10-19 22:42:02
阅读次数:
21
在一次项目中,因甲方需要使用kafka消息队列推送数据,所以需要接入kafka,并且kafka的版本是2.11。但是我们项目使用的是Springboot 1.5.7的版本,对应的springboot.kafka.starter有冲突,所以就接入了kafka-client。springboot接入ka ...
分类:
编程语言 时间:
2020-10-18 10:00:08
阅读次数:
18
1.1 列表的局限 前面我们说通过队列的 rpush 和 lpop 可以实现消息队列(队尾进队头出),但是消费者需要不停地调用 lpop 查看 List 中是否有等待处理的消息(比如写一个 while 循环)。 为了减少通信的消耗,可以 sleep()一段时间再消费,但是会有两个问题: 1、如果生产 ...
分类:
其他好文 时间:
2020-10-14 20:38:26
阅读次数:
21
在上一章中SpringBoot整合RabbitMQ,已经详细介绍了消息队列的作用,这一种我们直接来学习SpringBoot如何整合kafka发送消息。 kafka简介 kafka是用Scala和Java语言开发的,高吞吐量的分布式消息中间件。高吞吐量使它在大数据领域具有天然的优势,被广泛用来记录日志 ...
分类:
编程语言 时间:
2020-10-13 17:35:42
阅读次数:
33
介绍 RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件。主要用来做异步处理、应用解耦、流量削峰、日志处理等等方面的处理。 特点 可靠性: RabbitMQ使用一些机制来保证可靠性, 如持久化、传输确认及发布确认等。 灵活的路由 : 在消息进入队列之前,通过交换器来路由消息。对于... ...
分类:
其他好文 时间:
2020-10-07 20:24:27
阅读次数:
25
Kafka是Apache下的一个子项目,是一个高性能跨语言分布式发布/订阅消息队列系统,吞吐速率非常快,可以作为Hadoop的日志收集。Kafka是一个完全的分布式系统,这一点依赖于Zookeeper的分布式实现。 本文为新手准备,从Kafka的一些术语概念方面去认识Kafka。 Broker Ka ...
分类:
其他好文 时间:
2020-09-18 17:19:41
阅读次数:
37
一、消息队列的特性 业务无关,一个具有普适性质的消息队列组件不需要考虑上层的业务模型,只做好消息的分发就可以了,上层业务的不同模块反而需要依赖消息队列所定义的规范进行通信。 FIFO,先投递先到达的保证是一个消息队列和一个buffer的本质区别。 容灾,对于普适的消息队列组件来说,节点的动态增删和消 ...
分类:
其他好文 时间:
2020-09-18 01:55:33
阅读次数:
32