ROCKETMQ客户端设计(二)
思考?
1.客户端如何向服务器发送数据?
2.客户端如何消费客户端向服务器发送的数据?
3.Rocketmq消息模式有几种,消费方式有几种,接收消息方式有几种?
4.当服务器有20条消息,有10个客户端订阅,且消费模式为集群模式,这时服务器如何向客户端推送数据?
5.问题同上,当客户端新增节点或者挂掉某一个节点,如何保证数据被消费?
6.消息算法策略
一、客户端启动流程
1.推消息模式设计图
2.声明消费者所在的组
3.根据Config获取或者客户端设置namesrvAddr地址
4.消息模式默认为集群模式
消费模式有两种
/**
* broadcast(广播模式)
*/
BROADCASTING("BROADCASTING"),
/**
* clustering(集群模式)
*/
CLUSTERING("CLUSTERING");
默认模式为集群模式
5.注册消息到达监听模式
6.设置订阅的topic
7.启动消费者客户端
当traceDispatcher不为空时同时启动消息轨迹客户端
推消息模式入口
二、集群消费
三、广播消费
广播模式不支持顺序消费