dotnetcore / CAP

Distributed transaction solution in micro-service base on eventually consistency, also an eventbus with Outbox pattern
http://cap.dotnetcore.xyz
MIT License
6.61k stars 1.28k forks source link

Optimizing RabbitMQ Performance and Managing Multiple Instances in CAP #1535

Closed 907080752 closed 3 months ago

907080752 commented 3 months ago

你好,我有几个问题想请教

使用RabbitMQ:

1、cap采用了单个队列(如:cap.queue.XXXX.v1)来处理所有的消息,这对性能是否有影响。 比如在两个场景中,场景1中有10w个消息,场景2中有10个消息,但他们都会投递到同一个队列,造成场景2的无故等待。我可以如何处理这种情况

2、我可以如何注入多个实例 项目中我可能会使用多个CAP,在对接多个项目时,可能项目A使用MQ1实例,项目B使用MQ2实例,我可以如何注入并获取到不同的实例来发送或处理消息

yang-xiaodong commented 3 months ago

1、没有影响,RabbitMQ单个队列性能可以达到数万到数十万条消息每秒。同时我们支持指定设置Group来将消息投递到独立的队列。 2、不支持。简单来说数据收集项目不是CAP要支持的场景,这种场景不需要使用发件箱模式。你可以使用前置工具聚合后再使用CAP处理。

907080752 commented 3 months ago

ok,明白。谢谢