我在RabbitMQ和死连接方面有一些问题。我有一个RabbitMQ服务器和许多ec2实例,它们连接并包含来自该服务器的消息。问题是,有时当我需要终止ec2实例时,它与RabbitMQ服务器的连接不会关闭。
正因为如此,我们开始看到未加加的消息,它们永远不会回到就绪状态。我现在要做的是使用rabbitmqctl删除这个连接和/或使用我编写的python脚本来杀死任何空闲超过X天的连接。
我已经尝试使用1 RabbitMQ选项,但问题仍然存在。我想要做的是自动关闭任何“死”(空闲了很长时间)连接。
这是我在客户端而不是服务器端设置的东西吗?
RabbitMQ为3.3.4,我们在客户机上使用py-amqp2。
发布于 2014-09-18 02:41:09
我们看到了类似的问题,我们使用的是一个不支持心跳的PHP客户机。
我们的解决方案是在实例终止之前关闭所有使用者进程,这样所有连接都是不干净的。AFAIK EC2将尝试关闭,您将有一分钟左右的时间前,机器被关闭。
例子:
https://serverfault.com/questions/628594
复制相似问题