RocketMQ主从消息的处理流程:
消息到主服务器会从commitLog类中的topicQueueTable<String /* topic-queueid*, Long/*offset*/>表中获取到这条消息在这个队列的偏移量,这个偏移量就是后面进入comsumeQueue的logicoffset。每来一条消息这个值都会加1。
从服务器数据中的消息的logicoffset已经在主服务器设置好了,所以从服务器不会更新这个数据结构,当主从切换后会发生数据不一致的情况。如下
本文探讨了RocketMQ消息中间件中主从消息处理流程。详细解析了消息到达主服务器后如何通过commitLog中的topicQueueTable获取偏移量,并解释了从服务器如何使用已设置好的logicoffset进行数据同步。
RocketMQ主从消息的处理流程:
消息到主服务器会从commitLog类中的topicQueueTable<String /* topic-queueid*, Long/*offset*/>表中获取到这条消息在这个队列的偏移量,这个偏移量就是后面进入comsumeQueue的logicoffset。每来一条消息这个值都会加1。
从服务器数据中的消息的logicoffset已经在主服务器设置好了,所以从服务器不会更新这个数据结构,当主从切换后会发生数据不一致的情况。如下
2251
1210
2195

被折叠的 条评论
为什么被折叠?