我将Rebus
与MSMQ
一起使用。我尝试过Rebus,其中我的制作人正在向不同机器的消费者发送消息并且工作正常。
现在我需要使用多个使用者并需要在它们之间分配负载。我在生产者机器中的http://mookid.dk/oncode/archives/3621中运行了样本。但是我从第一行的负载均衡器中得到以下异常。
我的本地计算机上有一个名为distributor的队列,我的工作队列存在且名称正确
"无法加载类型' Rebus.Logging.RebusLoggerFactory'从装配 ' Rebus,版本= 2.0.1.0,文化=中立, 公钥=空'":" Rebus.Logging.RebusLoggerFactory"
你能帮我解决这个问题吗?
答案 0 :(得分:0)
问题是负载均衡器是旧的,不适用于“Rebus 2”(Rebus版本为0.90.0及以上)。
您可以使用Rebus轻松实现负载均衡器,因为您只需创建一个使用Rebus内置传输消息转发功能的端点。
This answer演示了如何在配置Rebus时调用AddTransportMessageForwarder
来配置传输邮件转发。
以这种方式执行此操作的优点是,它可以避免消息经历大量步骤(例如反序列化,处理程序查找等),因此速度非常快。
当然,这完全取决于您实现负载平衡算法。它可能非常简单,只需要从一个队列名称数组中选择,然后在它们之间只需round-robin。