文章内容

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)


参考资料:

1、rabbitmq——heartbeat

分享到:

发表评论

评论列表