Rabbitmq交换扇出问题

Rabbitmq exchange fanout problems

为了在我们的 tomcat 集群中传递事件,我们使用 rabbitmq 和交换扇出架构。每个服务器都通过临时队列订阅交换。一切似乎都工作正常,但有时一个或多个消费者会失去连接并且不处理消息而不在日志中留下一些有用的信息(一些损坏的管道消息的一部分)。

顺便说一句,我们在 rabbit 集群和我们的服务器之间使用了负载均衡器。

任何建议可能是哪里的问题或我们应该审查什么配置?

不要自动确认启动消息。这样,如果消费者死亡或任何消息重新排队。所以,完成处理消息,然后进行显式确认。

还有 rabbit mq 集群,重要的是要考虑哪些队列需要镜像等。

  1. 避免使用临时队列,使用永久队列
  2. 检查load/balancer配置,如果日志中有"connection closed",可能是LB在空闲时间后关闭了连接。
  3. 检查您的 heartbeart 配置。

如果可以,post 日志。