C# 使用REBS负载平衡器时出现类型初始化异常
我正在将C# 使用REBS负载平衡器时出现类型初始化异常,c#,load-balancing,producer-consumer,rebus,C#,Load Balancing,Producer Consumer,Rebus,我正在将Rebus与MSMQ一起使用。我曾经尝试过一个场景,在这个场景中,我的制作人在不同的机器上向消费者发送消息,效果很好 现在我需要使用多个消费者,并且需要在他们之间分配负载。我把样品放进生产机器里。但是我从第一行的负载平衡器中得到了以下异常 我在本地计算机中有一个名为distributor的队列,并且我的工作队列存在且名称正确 无法从程序集加载类型'Rebus.Logging.RebusLogger Factory' “Rebus,版本=2.0.1.0,文化=中性, PublicKeyTo
Rebus
与MSMQ
一起使用。我曾经尝试过一个场景,在这个场景中,我的制作人在不同的机器上向消费者发送消息,效果很好
现在我需要使用多个消费者,并且需要在他们之间分配负载。我把样品放进生产机器里。但是我从第一行的负载平衡器中得到了以下异常
我在本地计算机中有一个名为distributor的队列,并且我的工作队列存在且名称正确
无法从程序集加载类型'Rebus.Logging.RebusLogger Factory'
“Rebus,版本=2.0.1.0,文化=中性,
PublicKeyToken=null.“:“Rebus.Logging.ReusLogger工厂”
您能帮我解决这个问题吗?问题是负载平衡器很旧,不能与“Rebus 2”(即Rebus版本0.90.0及以上)一起使用 不过,您可以使用REBS轻松实现负载平衡器,因为您只需创建一个使用REBS内置传输消息转发功能的端点 演示如何在配置REBS时通过调用
AddTransportMessageForwarder
配置传输消息转发
这样做的好处是,它可以避免消息经过许多步骤(例如反序列化、处理程序查找等),因此速度非常快
当然,实现负载平衡算法完全取决于您。它可能非常简单,只需从队列名称数组中选择,然后在它们之间选择即可。问题在于负载平衡器很旧,不能与“REBS 2”(即REBS版本0.90.0及以上)一起使用 不过,您可以使用REBS轻松实现负载平衡器,因为您只需创建一个使用REBS内置传输消息转发功能的端点 演示如何在配置REBS时通过调用
AddTransportMessageForwarder
配置传输消息转发
这样做的好处是,它可以避免消息经过许多步骤(例如反序列化、处理程序查找等),因此速度非常快
当然,实现负载平衡算法完全取决于您。它可以非常简单,只需从一组队列名称开始选择,然后在它们之间选择即可。非常感谢您的评论。通过做一些研究,我想到了使用带有ha代理负载平衡器的rabbitmq ha集群。现在我正试图从rebus连接到我的负载平衡器,但我不知道如何为rebus设置connectionstring。当我通过节点的连接字符串单独连接到节点时,它运行良好(例如:amqp://test:test@10.182.40.68:5672 ). 只有当我修改connectionstring以使用负载平衡器时,它才不起作用。我的负载平衡器连接字符串是amqp://10.182.40.220:5670. 你能告诉我我做错了什么吗?非常感谢你的评论。通过做一些研究,我想到了使用带有ha代理负载平衡器的rabbitmq ha集群。现在我正试图从rebus连接到我的负载平衡器,但我不知道如何为rebus设置connectionstring。当我通过节点的连接字符串单独连接到节点时,它运行良好(例如:amqp://test:test@10.182.40.68:5672 ). 只有当我修改connectionstring以使用负载平衡器时,它才不起作用。我的负载平衡器连接字符串是amqp://10.182.40.220:5670. 你能告诉我我做错了什么吗?