面试连环炮系列(二十?四):为什么选择RocketMQ
Posted xiaoyangjia
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试连环炮系列(二十?四):为什么选择RocketMQ相关的知识,希望对你有一定的参考价值。
-
为什么选择RocketMQ,而不是其他MQ
- 性能:阿里支撑,经受住淘宝,天猫双11重重考验;性能高;可靠性好;可用性高;易扩展。
- 功能:功能完善,我们需要的功能基本都够满足,如:事务消息,消息重试,死信队列,定时消息等。
- 易用:跨平台:跨语言,多协议接入(支持HTTP, MQTT, TCP协议,支持Restful风格HTTP收发消息)。
-
RocketMQ 由哪些角色组成
- 生产者(Producer):负责产生消息,生产者向消息服务器发送由业务应用程序系统生成的消息。
- 消费者(Consumer):负责消费消息,消费者从消息服务器拉取信息并将其输入用户应用程序。
- 消息服务器(Broker):是消息存储中心,主要作用是接收来自 Producer的消息并存储, Consumer 从这里取得消息。
- 名称服务器(NameServer):用来保存 Broker 相关 Topic 等元信息并给 Producer ,提供 Consumer 查找Broker信息。
-
说说你对消费者的了解
- 获得 Topic-Broker 的映射关系。consumer 启动时需要指定 Namesrv 地址,与其中一个 Namesrv 建立长连接。消费者每隔 30 秒从 Namesrv 获取所有Topic 的最新队列情况,
Consumer 跟 Broker 是长连接,会每隔 30 秒发心跳信息到Broker。 - 消费者端的负载均衡。根据消费者的消费模式不同,负载均衡方式也不同。
- 获得 Topic-Broker 的映射关系。consumer 启动时需要指定 Namesrv 地址,与其中一个 Namesrv 建立长连接。消费者每隔 30 秒从 Namesrv 获取所有Topic 的最新队列情况,
-
消费者消费模式有几种
- 集群消费:一个 Consumer Group 中的各个 Consumer 实例分摊去消费消息,即一条消息只会投递到一个 Consumer Group 下面的一个实例。
- 广播消费:消息将对一个Consumer Group 下的各个 Consumer实例都投递一遍。即使这些 Consumer 属于同一个Consumer Group ,消息也会被 Consumer Group 中的每个 Consumer 都消费一次。
参考(部分摘抄的文字版权属于原作者):
https://blog.csdn.net/pzq915981048/article/details/88971356
https://blog.csdn.net/huayushuangfei/article/details/80866642
以上是关于面试连环炮系列(二十?四):为什么选择RocketMQ的主要内容,如果未能解决你的问题,请参考以下文章