文章内容
2021/1/23 8:56:26,作 者: 黄兵
pika heartbeat 理解
RabbitMQ heartbeat通常用来检测通信的对端是否存活(未正常关闭socket连接而异常crash)。其基本原理是检测对应的socket连接上数据的收发是否正常,如果一段时间内没有收发数据,则向对端发送一个心跳检测包,如果一段时间内没有回应则认为心跳超时,即认为对端可能异常crash了。
RabbitMQ也不例外,heatbeat在客户端和服务端之间用于检测对端是否正常,即客户端与服务端之间的tcp链接是否正常。
heatbeat分为服务器端和客户端的设置,具体如何设置可以参考下面链接。
下面是客户端设置的一个示例:
credentials = pika.PlainCredentials(self.RABBITMQ_USER_IPCrawler, self.RABBITMQ_PASSWORD_IPCrawler)
conn_params = pika.ConnectionParameters(self.RABBITMQ_ADDR, 5672, vhost, credentials=credentials, heartbeat=5)
参考资料:
评论列表