本文主要是介绍【退役之重学Java】如何保证从消息队列里拿到的消息顺序执行,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、场景
MySQL binlog 同步数据,比如大数据team。在MySQL中进行增删改查,将其 binlog 发送到 MQ 里面,到消费出来执行,这里就必须要保证其顺序执行,不然数据库就会错乱。
二、如何保证消息的顺序性呢?
- RabbitMQ 拆分多个 queue,每个queue 分配一个 consumer,就是多一些 queue 而已,确实是麻烦点;
- 或者就一个 queue 对应一个consumer,然后这个consumer 内部用内存队列做排队,然后分发给底层不同的worker 来处理
这篇关于【退役之重学Java】如何保证从消息队列里拿到的消息顺序执行的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!