2017-02-18 120 views
0

我有一个Node应用程序,它将使用RabbitMQ,我正在使用amqplib来访问它。据我所知,与RabbitMQ的TCP/IP连接和昂贵的通道很便宜,因此创建一个连接,然后创建多个通道。AMQP NodeJS连接

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

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

回答

0

我想你的用户只连接到你的服务器,这是不同的,每个用户直接连接到rabbitmq。然后,在服务器端,您只能保持一个连接到rabbitmq。

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

注意AMQP有heartbeat特点:

AMQP 0-9-1提供了一个心跳功能,以确保应用层及时发现关于中断连接(也完全没有反应同行)。心跳还可以防御可能终止“空闲”TCP连接的某些网络设备。

默认情况下,amqplib's hearbeat设置为0意味着没有心跳。