docs: update how-to-ensure-the-order-of-messages.md

This commit is contained in:
yanglbme 2022-07-27 11:44:56 +08:00
parent 5d66febdde
commit 6b97937dbd

View File

@ -28,10 +28,14 @@
#### RabbitMQ
拆分多个 queue每个 queue 一个 consumer就是多一些 queue 而已,确实是麻烦点;或者就一个 queue 但是对应一个 consumer然后这个 consumer 内部用内存队列做排队,然后分发给底层不同的 worker 来处理
拆分多个 queue每个 queue 一个 consumer就是多一些 queue 而已,确实是麻烦点,这样也会造成吞吐量下降,可以在消费者内部采用多线程的方式取消费
![rabbitmq-order-02](./images/rabbitmq-order-02.png)
或者就一个 queue 但是对应一个 consumer然后这个 consumer 内部用内存队列做排队,然后分发给底层不同的 worker 来处理。
注意,这里消费者不直接消费消息,而是将消息根据关键值(比如:订单 id进行哈希哈希值相同的消息保存到相同的内存队列里。也就是说需要保证顺序的消息存到了相同的内存队列然后由一个唯一的 worker 去处理。
#### Kafka
- 一个 topic一个 partition一个 consumer内部单线程消费单线程吞吐量太低一般不会用这个。