【问题标题】:AMQP NodeJS ConnectionAMQP NodeJS 连接
【发布时间】:2023-04-10 17:59:01
【问题描述】:

我有一个将使用 RabbitMQ 的 Node 应用程序,并且我正在使用 amqplib 来访问它。我知道到 RabbitMQ 的 TCP/IP 连接很昂贵,通道很便宜,所以创建一个连接,然后创建多个通道。

我有点困惑的是,我如何评价可以跨应用程序使用的一个连接?大多数教程似乎表明连接是出于某种目的而打开的,然后再次关闭,只有在下次需要时才再次打开。

我认为如果多个用户同时尝试需要 RabbitMQ 访问的操作,这将导致多个连接。

【问题讨论】:

    标签: node.js rabbitmq amqp


    【解决方案1】:

    我想你的用户只连接到你的服务器,每个用户都直接连接到rabbitmq。然后,在服务器端,您只能保留一个与rabbitmq 的连接。

    为此,我建议创建一个module 来跟踪您在应用程序中的连接。

    请注意,AMQP 有一个heartbeat 功能:

    AMQP 0-9-1 提供了心跳功能,以确保应用程序层及时发现中断的连接(以及完全无响应的对等方)。心跳还可以防御某些可能终止“空闲”TCP 连接的网络设备。

    默认情况下,amqplib's hearbeat 设置为 0,表示没有心跳。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多