如果一个生产者多个消费者的话,生成的数据是数据1、数据2、数据3,消费的数据是数据2、数据1、数据3,此时消费者没有按生产者的顺序。
那么如何保证消息的顺序性呢?
我们可以使用三个queue,每个消费者就消费其中的一个queue,把需要保证顺序的数据分别发送到不同的queue中。
消息积压解决
在排除生产者端的业务问题后,那就是消费者端的消费能力不足;
- 增加消费者数量
- 机器负载能力足够的话,可以考虑将消息通过线程池异步处理,提高消费能力
如果一个生产者多个消费者的话,生成的数据是数据1、数据2、数据3,消费的数据是数据2、数据1、数据3,此时消费者没有按生产者的顺序。
那么如何保证消息的顺序性呢?
我们可以使用三个queue,每个消费者就消费其中的一个queue,把需要保证顺序的数据分别发送到不同的queue中。
在排除生产者端的业务问题后,那就是消费者端的消费能力不足;
- 增加消费者数量
- 机器负载能力足够的话,可以考虑将消息通过线程池异步处理,提高消费能力