【问题标题】:How to check whether the connection is alive or not in RabbitMq node-amqplib library?如何在 RabbitMq node-amqplib 库中检查连接是否存在?
【发布时间】:2018-10-10 10:03:39
【问题描述】:

我正在使用rabbitMq node-amqplib库编写生产者和消费者,我担心服务器突然失去连接,如何检查连接是否存在?

【问题讨论】:

  • 与 RabbitMQ Web UI 服务器连接。您可以使用插件实现此目的。这可能会有所帮助:rabbitmq.com/management.html 在那里您可以看到生产者和消费者之间的绑定。

标签: javascript node.js rabbitmq node-amqplib


【解决方案1】:

AMQP 0-9-1 提供了心跳功能,以确保应用层及时发现中断的连接(以及完全无响应的对等方)。

在amqplib中你只需要在调用connect([url, [socketOptions]])时设置一个心跳超时(非0),就会自动进行检查。

更多信息在这里:

https://www.squaremobius.net/amqp.node/channel_api.html#heartbeating

http://www.rabbitmq.com/heartbeats.html

【讨论】:

  • 非常感谢您的及时回复,请再提一件事,我可以通过使用心跳或我可以实现的任何其他独家方式保持与服务器的连接吗?
  • 您只能使用心跳来保持连接处于活动状态(这是 RabbitMQ 的工作方式)。请注意,您发送或接收的每条消息也算作一次心跳。因此,如果您发送任意消息,连接将保持活动状态。
猜你喜欢
  • 2016-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-27
  • 1970-01-01
相关资源
最近更新 更多