开发者社区> 问答> 正文

集群消费和广播消费是什么?


本文档主要介绍 MQ 集群消费和广播消费的基本概念,适用场景以及注意事项。

基本概念


MQ 是基于发布订阅模型的消息系统。在 MQ 消息系统中消息的订阅方订阅关注的 Topic,以获取并消费消息。由于订阅方应用一般是分布式系统,以集群方式部署有多台机器。因此 MQ 约定以下概念。
[backcolor=transparent]集群:MQ 约定使用相同 Consumer ID 的订阅者属于同一个集群,同一个集群下的订阅者消费逻辑必须完全一致(包括 Tag 的使用),这些订阅者在逻辑上可以认为是一个消费节点。
[backcolor=transparent]集群消费:当使用集群消费模式时,MQ 认为任意一条消息只需要被集群内的任意一个消费者处理即可。
[backcolor=transparent]广播消费:当使用广播消费模式时,MQ 会将每条消息推送给集群内所有注册过的客户端,保证消息至少被每台机器消费一次。

场景对比


[backcolor=transparent]集群消费模式:

[backcolor=transparent]适用场景&注意事项

  • 每条消息都需要被多台机器处理,每台机器的逻辑可以相同也可以不一样。
  • 消费进度在服务端维护,可靠性高于广播模式。
  • 一个云账户所能创建的 Consumer ID 数量是有限制的,具体可以咨询售后技术支持。
  • 对于一个 Consumer ID 来说,可以部署一个消费端实例,也可以部署多个消费端实例。当部署多个消费端实例时,实例之间又组成了集群模式(共同分担消费消息)。假设订阅组 Consumer ID1 部署了三个消费者实例 C1,C2,C3,那么这三个实例将共同分担服务器发送给订阅组 Consumer ID1 的消息。同时,实例之间订阅关系必须保持一致。

展开
收起
猫饭先生 2017-10-26 13:51:43 2062 0
0 条回答
写回答
取消 提交回答
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
消息队列 Kafka 版差异化特性 立即下载
基于RocketMQ Connect 构建全新数据流转处理平 立即下载
万亿级数据洪峰下的消息引擎-Apache RocketMQ 立即下载