使用Rebus负载均衡器时,类型初始化异常



我使用RebusMSMQ。我已经尝试了Rebus的一个场景,我的生产者在不同的机器上向消费者发送消息,它工作得很好。

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

我在本地机器上有一个名为distributor的队列,并且我的工作队列存在并且它们的名称是正确的

"无法加载类型'Rebus.Logging "。RebusLoggerFactory'从程序集Rebus, Version=2.0.1.0, Culture=neutral,都必须为空。":"Rebus.Logging.RebusLoggerFactory"

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

问题是负载均衡器是旧的,不工作与"Rebus 2"(这是Rebus版本0.90.0及以上)。

你可以很容易地用Rebus实现一个负载均衡器,因为你可以简单地创建一个端点,使用Rebus内置的传输消息转发功能。

这个答案演示了如何在配置Rebus时通过调用AddTransportMessageForwarder来配置传输消息转发。

这样做的好处是,它节省了消息经过许多步骤(例如,反序列化,处理程序查找等),因此它非常快。

当然,这完全取决于你实现你的负载平衡算法。它可以非常简单,可以简单地从一个队列名称数组开始,然后简单地在它们之间循环。

相关内容

  • 没有找到相关文章

最新更新