美文网首页
rocketMq消息消费流程图示

rocketMq消息消费流程图示

作者: 圣村的希望 | 来源:发表于2019-11-05 12:07 被阅读0次
Push消息消费流程图示.jpg

    rocketmq中消息消费方式有拉Pull和推Push方式,Push其实是对Pull方式的封装,后台线程不停产生消息拉取请求,不停从broker拉取消息到Consumer消费,这里是伪推模式,不是真正的broker推,而是client端对拉Pull模式的封装,不停滴拉就等于推。

    顺序消息,rocketmq只能做到MessageQueue维度的绝对顺序,不能做到topic全局绝对顺序。顺序消息一句话,就是做什么事情之前先获取锁MessageQueue锁和ProcessQueue锁,创建消息拉取请求前获取到锁才能创建拉取请求,拉取消息前获取锁,消费消息前获取锁,消息消费请求在ConsumerMessageService线程池中消费的时候先获取锁。这样就保证了消息的顺序。

    消息拉取到client端是乱的,不是按消费偏移量顺序排序的,而且在线程池中消费,所以更新消费进度的时候,防止更新消费偏移量错乱,client端使用了TreeMap来存放消息,保证了更新消息消费偏移量的顺序性。

相关文章

网友评论

      本文标题:rocketMq消息消费流程图示

      本文链接:https://www.haomeiwen.com/subject/dkusbctx.html