RocketMQ之消息消费
1. 消费者启动流程
1. 构建主题订阅信息SubscriptionData并加入到RebalanceImpl的订阅信息中
2. 初始化MQClientInstance,RebalanceImple消息重新负载实现类
3. 初始化消息进度。如果消息消费是集群模式,那么消息进度保存在Broker上;如果是广播模式,那么消息消费进度存储在消费端。
4. 根据是否是顺序消费,创建消费端消费线程服务
5. 向MQClientInstance注册消费者,并启动MQClientInstance,在一个JVM中的所有消费者,生产者持有同一个MQClientInstance,MQClientInstance只会启动一次
2. 消息拉取
1. 消息消费模式
1. 广播模式
每一个消费者需要去拉取订阅主题下所有消费队列的消息,也就是同一主题下的同一条信息将被集群内的所有消费者消费一次
2. 集群模式
主题下的同一条信息只允许被其中一个消费者消费
2. 消息拉取基本流程
1. 客户端封装消息拉取请求
2. 消息服务端Broker组装消息
3. 消息拉取客户端处理消息
4. 消息拉取长轮询机制分析
3. 消息消费过程
1.
一往无前虎山行,拨开云雾见光明

浙公网安备 33010602011771号