标签:术语 场景 Group RabbitMQ MQ 消息 Consumer RocketMQ
目录前言
MQ(Message Queue)
消息队列
MQ的适用场景
- 异步处理
把一些耗时但不阻塞主流程的业务让MQ去做业务处理,提升用户体验
- 流量削峰填谷
秒杀场景,利用MQ控制流量,一旦超出阈值就丢弃请求或弹出错误页,防止应用被洪峰打死
- 解耦微服务
A服务调用B服务,B挂了,A的接口也无法正常返回,即使有Sentinel可以保护A不被B拖死,但接口依然无法正常返回,使用MQ后演变成A生产消息到MQ,B去消费MQ,即使B挂了,MQ依然会把消息存储起来,对A不会产生任何影响,B服务恢复正常后再去消费MQ的消息
MQ的选择
- 目前常用的主流的消息中间件:
ActiveMQ
、RabbitMQ
,Kafka
,RocketMQ
RocketMQ
有一篇官方对比文档:RocketMQ vs. ActiveMQ vs. Kafka
MQ的术语和概念
术语/概念 | 子项 | 解释 | 描述 |
---|---|---|---|
Topic主题 | - | 消息的集合 | 一类消息的集合,RocketMQ的基本订阅单位 |
消息模型 | Producer | 生产者 | 生产消息 |
Broker | 消息代理 | 存储消息,转发消息 | |
Consumer | 消费者 | 消费消息 | |
部署结构 | Name Server | 名字服务 | 生产者/消费者通过名字服务查找个主题相应的Broker IP列表 |
Borker Server | 代理服务器 | 消息中转角色,负责存储消息、转发消息 | |
消费模式 | Pull Consumer | 拉取式消费 | 应用调用Consumer的拉取信息方法从Broker Server拉取消息 |
Push Consumer | 推动式消费 | Broker收到消息后主动推送给消费者,实时性较高 | |
Group组 | Producer Group | 生产者组 | 同一类Producer的集合 |
Consumer Group | 消费者组 | 同一类Consumer的集合 | |
消息传播模式 | Clustering | 集群 | 相同Consumer Group的每个Consumer实例平均分摊消息 |
Broadcasting | 广播 | 相同Consumer Group的每个Consumer实例都接收全量的消息 | |
消息类型 | 普通消息、 顺序消息、 定时/延时消息、 事务消息 |
- | - |
MQ的搭建导航
RocketMQ
Windows下安装RocketMQ
RabbitMQ
Windows下安装RabbitMQ
Linux下安装RabbitMQ
标签:术语,场景,Group,RabbitMQ,MQ,消息,Consumer,RocketMQ 来源: https://www.cnblogs.com/maggieq8324/p/15349148.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。