我有一个RabbitMQ集群xx.xx6、xx.xx7和xx.xx8.我正在try 使用UseCluster方法注册它们:

busConfigurator.UsingRabbitMq((context, configurator) =>
                {
                    var settings = context.GetRequiredService<MessageBrokerSettings>();

                    if (settings.UseMultiNodes)
                    {
                        configurator.Host(settings.VirtualHost,hostConfig =>
                        {
                            hostConfig.Username(settings.UserName);
                            hostConfig.Password(settings.Password);
                        
                            hostConfig.UseCluster(cluster =>
                            {
                                foreach (var host in settings.Hosts)
                                {
                                    cluster.Node(host);
                                }
                            });
                        });
                    }
                });
            });

我知道在我的集群前面使用HAProxy会更有意义,也会更好,但现在这不是一个选项,所以我想在MassTransport(UseCluster)中利用这个功能.在运行应用程序时,由于以下错误,我的整个应用程序无法运行:

未处理的异常.System.ArgumentException:无效的 node 地址:amqp://xx.xx6:5672(参数‘Address’).

请记住,我的RabbitMQ集群可能没有什么问题,因为在使用RabbitMQ.Client库时一切正常,但在try 迁移到MassTransport时,MassTransport导致了这个问题.这至少是我所认为的问题所在.

推荐答案

不要在主机地址中包含方案,它应该只包含:

<hostname|ip address>[:port]

如果使用默认端口,则不需要该端口.

更新

对于您的虚拟主机,它是.Host调用的第二个参数,而不是第一个参数.

configurator.Host("cluster-host-name", settings.VirtualHost,hostConfig =>

cluster-host-name可以是任何值,因为在使用集群 node 时,主机名是仅显示的.

Csharp相关问答推荐

在C#中使用in修饰符

向类注入一个工厂来创建一些资源是一个好的实践吗?

有没有办法把+02:00转换成TimeSpan?""

. NET 8使用COM向VB6公开

"virtual"修饰符对接口成员有什么影响?

C++/C#HostFXR通过std::tuple传递参数

选取器与.NET Maui MVVM的绑定属性

可为空的泛型属性

限制特定REST API不被访问,但部署代码

如何将ASP.NET Core 2.1(在.NET框架上运行)更新到较新的版本?

应用程序重新启动后,EFCore列表的BSON反序列化错误

将字节转换为 struct 并返回

该函数不能检测两条曲线的交点

是否由DI容器自动处理由ActivatorUilties.CreateInstance()创建的服务?

升级后发出SWITCH语句

EF Core:如何对关系属性进行建模?

如何在C#中从MongoDB IPipelineStageDefinition中获取聚合命令的字段/选项?

忽略Visual Studio代码中的StyleCop规则

如何消除Visual Studio错误,因为它不识别集合表达式的新C#12语法?

实例化列表时的集合表达式是什么?