使用nodejs的RabbitMQ集群的连接字符串?

ccrfmcuu  于 2023-04-20  发布在  RabbitMQ
关注(0)|答案(1)|浏览(118)

我正在尝试使用nodejs库amqplib连接到RabbitMQ集群
我找不到有关连接字符串的任何信息。我正在尝试var

amqp_url = 
 ["amqp://admin:admin@172.26.126.248:5672/vhost_test","amqp://admin:admin@172.26.126.249:5672/vhost_test","amqp://admin:admin@172.26.126.250:5672/vhost_test"];

是否有其他库支持集群?

2guxujil

2guxujil1#

你用的是什么版本?
如果您使用的是0.5.0或更早版本,则可以使用以下配置:

const hosts = [
  'rabbitmq-node1:5672',
  'rabbitmq-node2:5672',
  'rabbitmq-node3:5672'
];

const connection = await amqp.connect({
  port: 5672,
  username: 'guest',
  password: 'guest',
  hosts: hosts, // specify the cluster nodes
  heartbeat: 60 // send a health check every 60 seconds to check that the connection is still active
});

否则如果是高于0.5.0的版本,我认为amqplib不会再考虑这种指定主机的能力了,实际上应该会

const amqp_uri = 'amqp://guest:guest@rabbitmq-node1:5672';

const connection = await amqp.connect(amqp_uri);

在它后面,RabbitMQ在连接期间提供节点的其他URL。

相关问题