MessageQueue
文章平均质量分 95
JFS_Study
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
展开
-
消息队列(Message Queue)
一、MQ 的作用核心作用:系统之间解耦。基于订阅的关系,应用程序之间共享传递数据。异步处理业务。并行。流量削峰:在访问量剧增的情况下,应用系统不用等待处理结果,用消息队列可以在队列中堆积消息,提高系统的吞吐量和稳定性。由此实现一个重要的功能:蓄洪。挡住前端的数据洪峰,保证后端系统的稳定性。二、MQ 选型和对比从社区活跃度按照目前网络上的资料,RabbitMQ 、activeM 、ZeroMQ 三者中,综合来看,RabbitMQ 是首选。持久化消息比较ZeroMq 不支持,Ac原创 2022-03-04 09:33:17 · 753 阅读 · 0 评论 -
为什么要用 MQ
一、为什么要使用消息队列:解耦、异步、削峰1️⃣解耦传统模式的缺点:系统间耦合性太强。如图,系统 A 直接调用系统 B 和系统 C,系统 D 接入,系统 A 还得修改代码:中间件模式的的优点:将消息写入消息队列,需要消息的系统自己从消息队列中订阅,如此系统 A 不需要做任何修改。2️⃣异步传统模式的缺点:非必要的业务逻辑以同步的方式运行,太耗费时间。中间件模式的优点:将消息写入消息队列,非必要的业务逻辑以异步的方式运行,加快响应速度。3️⃣削峰传统模式的缺点:并发量大的时候,所有的请求直接怼原创 2022-03-04 09:30:39 · 2303 阅读 · 0 评论 -
RabbitMQ
一、什么是 RabbitMQRabbitMQ 是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件),最大的特点就是消费并不需要确保提供方存在,实现了服务之间的高度解耦。RabbitMQ 服务器是用 Erlang 语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。重要的角色生产者:消息的创建者,负责创建和推送数据到消息服务器。消费者:消息的接收方,用于处理数据和确认消息。代理:就是 RabbitMQ 本身,用于扮演“原创 2022-03-04 09:26:36 · 1094 阅读 · 0 评论 -
RocketMQ
一、简述RocketMQ 一个纯 Java、分布式、队列模型的开源消息中间件,前身是 MetaQ,是阿里研发的一个队列模型的消息中间件,后开源给 apache 基金会成为了 apache 的顶级开源项目,具有高性能、高可靠、高实时、分布式特点。RocketMQ 的逻辑存储结构是物理队列+逻辑队列的结构。物理队列只有一个,采用固定大小的文件顺序存储消息。逻辑队列有多个,每个逻辑队列有多个分区,每个分区有多个索引。a.消息顺序写入物理文件里面,每个文件达到一定的大小,新建一个文件继续顺序写数据(消息的写入原创 2022-03-04 09:23:46 · 2343 阅读 · 0 评论