参考:《ROCKETMQ技术内幕》
经过消息队列重新负载后(reBalance),分配到一个消息队列,然后会向broker尝试锁定该队列,锁定成功才能发起拉取任务的请求,不然会跳过。集群模式下,每隔20秒会定时任务锁定一次。(个人觉得20秒里面的时间就用来消费消息)。然后会在进行消费是也加锁,一个队列(processqueue)同一时间只会被consumeMessageQueue里的一个线程消费(被锁定且未超时)
Broker一把锁,processQueue一把锁
顺序消息的实现(锁)
最新推荐文章于 2023-12-25 11:45:58 发布