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.                       

posted @ 2024-01-23 18:02  奋斗史  阅读(14)  评论(0)    收藏  举报