【发布时间】:2019-05-10 08:58:08
【问题描述】:
我遇到了这个人遇到的完全相同的问题:https://github.com/MassTransit/MassTransit/issues/975。
出于测试目的,我的开发机器上有一个 3 节点集群,节点使用以下端口:
amqp rabbit 5672
http rabbit 15672
amqp rabbit1 6001
http rabbit1 15674
amqp rabbit2 6002
http rabbit2 15673
我尝试如下连接:
var rabbitMqHost = busFactoryConfig.Host(new Uri("rabbitmq://localhost:6002"), hostConfig =>
{
hostConfig.Username("username");
hostConfig.Password("password");
hostConfig.UseCluster(c =>
{
c.ClusterMembers = new[]
{
"rabbitmq://localhost:6001",
"rabbitmq://localhost:6002",
"rabbitmq://localhost:5672"
};
});
});
但我不断得到:
连接失败:admin@localhost:6002/
BrokerUnreachableException:指定的端点都不可到达
尝试了所有可能,没有任何效果。如果我删除 UseCluster,那么相同的主机:端口可以工作,这很奇怪。
使用集群名作为主机名(例如:busFactoryConfig.Host("rabbit2@{hostname-fqdn}", "/", ...)会出现以下错误:
EndpointNotFoundException:找不到指定地址的主机:rabbitmq://rabbit2@{hostname-fqdn}/bus-{hostname}-RabbitMQConsumer-rnuoyyrtr44jcxutbdmpkkikdu?durable=false&autodelete=true
RabbitMQ v3.7.14、Erlang v21.3
【问题讨论】:
标签: c# rabbitmq masstransit