RabbitMQ
一个queue,多个consumer,比如,生产者向RabbitMQ发送三条数据,顺序依次为data1/data2/data3,压入RabbitMQ的内存队列。有三个消费者分别从MQ中消费这三条数据,如果消费者2先执行完操作,把data2存入数据库,会导致数据同步顺序错乱。
解决方案:
(1)RabbitMQ:拆分为多个queue,每个queue对应一个consumer,consumer内部用内存队列做排队,分发给底层不同的worker来处理。
(2)Kafka:写入多个内存queue,将data1/data2/data3写入同一个内存queue,每一个线程对应消费一个内存queue。
5.消息队列中,如何保证消息的顺序性?
最新推荐文章于 2024-03-25 18:34:20 发布