RocketMQ学习一RocketMQ初探
RocketMQ架构图
【RocketMQ学习一RocketMQ初探】
文章图片
主要组件如下:
NameServer
NameServer集群,Topic的路由注册中心,为客户端根据Topic提供路由服务,从而为客户端获取对应的Broker进而向Broker发送消息。NamerServer将Topic信息保存在内存里。NameServer之间的节点不通信,NameServer集群里的路由信息采用的是最终一致性。NameServer对于RokcetMQ好比ZK对于Kafka。
Broker
消息存储服务器,分Master与Slave,Master承担读写操作,Slave作为一个备份。每30s Master与Slave会向NameServer发送心跳包,心跳包里有Broker上所有的Topic路由信息。Broker会将Topic信息持久化。
Client
消息客户端,包括Producer与Consumer。一般情况下同一时间一个客户端只会连接一台NameServer,只有在异常的时候才会尝试连接另外一台。客户端每30s向NamerServer发起Topic的路由信息查询
消息订阅模型
RocketMQ消息消费模式采用的是发布与订阅模式。
- Topic: 一类消息的集合,不同类型的消息归属于不同的主题
- ConsumerGroup:消息消费组,一个消费单位的集合,消费组启动时需要订阅需要消费的Topic。一个Topic可以被多个消费组订阅,同样一个消费组也可以订阅多个主题。一个消费组有多个消费者。
推荐阅读
- 一个人的旅行,三亚
- 一个小故事,我的思考。
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量
- 开学第一天(下)
- 一个人的碎碎念
- 2018年11月19日|2018年11月19日 星期一 亲子日记第144篇
- 遇到一哭二闹三打滚的孩子,怎么办┃山伯教育
- 第326天
- Y房东的后半生14
- 奔向你的城市