【发布时间】:2016-11-16 08:43:00
【问题描述】:
我正在使用 RabbitMQ Java 客户端。 我的应用程序有多个交换和队列。采用类似于 Pub/Sub 模型的东西。
关于连接的最佳做法是什么? 每个应用程序有一个连接吗?
我了解通道模型和线程(非)安全模型。只是不确定我是否应该有多个连接。
【问题讨论】:
我正在使用 RabbitMQ Java 客户端。 我的应用程序有多个交换和队列。采用类似于 Pub/Sub 模型的东西。
关于连接的最佳做法是什么? 每个应用程序有一个连接吗?
我了解通道模型和线程(非)安全模型。只是不确定我是否应该有多个连接。
【问题讨论】:
每个应用一个连接是正确的。
在该连接中,您将拥有许多渠道 - 实际工作完成的地方。
您可以在单个连接中拥有数百或数千个消息生产者和消费者(每个都在他们的频道上)。
如果您开始发现 RMQ 设置因工作量过多而变慢,请查看集群 RMQ 和/或建立应用程序的多个实例。
但您仍会为每个应用实例维护 1 个连接。
【讨论】:
这取决于您将收到的消息量。如果它真的很大,也许 2 或 3 个连接可以做到,但每个应用程序一个似乎是最佳选择
【讨论】: