Rebus 和远程队列

Rebus and Remote queues

我正在使用 Rebus (https://github.com/rebus-org (v.0.83)),直到现在它都在一台机器上本地运行。现在我需要使用从我的网站到应用服务器的远程队列。我不太清楚如何使用 Rebus 进行设置。几个问题

  1. 我想我需要在两台机器(网络和应用程序)上使用 MSMQ,对吗?我已将网站配置为 UseMsmqInOneWayClientMode
  2. 或者有没有办法指定通过 http 发送?
  3. 我的配置大概是这样的。我猜 inputQUeue 需要指向本地机器而不是远程机器,对吧?

    <rebus inputQueue="mywebqueue" errorQueue="MyErrorQueue@mymachine" workers="1" maxRetries="5"> <endpoints> <add messages="MyLibrary.CreateMessage, MyLibrary" endpoint="MyQueue@mymachine"/> </endpoints> </rebus>

非常感谢您的帮助。

  1. 是的。所有需要以某种方式使用 MSMQ 的机器都需要安装 MSMQ。即使作为单向客户端,如您的网络服务器,因为 MSMQ 通过在您发送到远程计算机时提供 传出队列 来实现其高可用性。

  2. 我也这么认为。除了其基本可靠的消息传递功能外,我从未使用过 MSMQ。 Google 周围,我打赌你能找到一些东西 ;)

  3. 您的配置看起来正确。是的 - 输入队列始终是本地的,而您发送到的队列(错误队列和端点映射中指定的所有端点)也可以是远程的。