RabbitMQ如何在集群中最佳地发布/消费消息?

fhity93d  于 2023-10-20  发布在  RabbitMQ
关注(0)|答案(2)|浏览(131)

我只是好奇,在忽略持久性、持久性和类似的东西的情况下,发布和使用消息的最佳方式是什么,而是从集群中的网络Angular 来看?
如果我们通过服务器1(s1)打开的连接发布消息,但队列master-locator-node在服务器2(s2)上,服务器必须将该消息从s1移动到s2,对吗?
最好总是从我们所连接的服务器的“本地”队列中消费,这意味着我们通过连接消费的所有队列都位于该服务器上,不是吗?
是不是太复杂了?还是总是发布到队列所在的服务器并从其使用最好?我每天处理大约3B的消息,所以我试图尽可能地减少延迟和负载。

o4tp2gmn

o4tp2gmn1#

是的,总是发布到队列主节点和从队列主节点消费是最佳的。您对连接到非主节点时发生的情况的理解是正确的。当然,这意味着您必须让您的应用程序知道这些信息(来自HTTP API)。
如果您不担心消息丢失,那么在这种情况下几乎不需要集群。

chhqkbe1

chhqkbe12#

您忽略了正确指导的重要因素,例如持久性和消息大小。根据消息大小,持久性和工作负载,您有三个潜在的资源瓶颈1)CPU 2)网络3)存储。此外,根据每个队列上的客户端数量,还可能出现争用瓶颈。

相关问题