使用Rebus负载平衡器时键入初始化异常

时间:2016-11-06 10:10:00

标签: c# load-balancing producer-consumer rebus

我将RebusMSMQ一起使用。我尝试过Rebus,其中我的制作人正在向不同机器的消费者发送消息并且工作正常。

现在我需要使用多个使用者并需要在它们之间分配负载。我在生产者机器中的http://mookid.dk/oncode/archives/3621中运行了样本。但是我从第一行的负载均衡器中得到以下异常。

我的本​​地计算机上有一个名为distributor的队列,我的工作队列存在且名称正确

  

"无法加载类型' Rebus.Logging.RebusLoggerFactory'从装配   ' Rebus,版本= 2.0.1.0,文化=中立,   公钥=空'":" Rebus.Logging.RebusLoggerFactory"

你能帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

问题是负载均衡器是旧的,不适用于“Rebus 2”(Rebus版本为0.90.0及以上)。

您可以使用Rebus轻松实现负载均衡器,因为您只需创建一个使用Rebus内置传输消息转发功能的端点。

This answer演示了如何在配置Rebus时调用AddTransportMessageForwarder来配置传输邮件转发。

以这种方式执行此操作的优点是,它可以避免消息经历大量步骤(例如反序列化,处理程序查找等),因此速度非常快。

当然,这完全取决于您实现负载平衡算法。它可能非常简单,只需要从一个队列名称数组中选择,然后在它们之间只需round-robin