0

我开始阅读 RabbitMQ 来决定我们是否可以将它用于一个新的 Web 项目——我现在非常兴奋 :-)

  1. 我看到的所有示例都在控制台应用程序中作为消费者使用了某种 while(true) 循环。在 Windows 平台上实现消费者的可靠和容错方式是什么。我想一个Windows服务?有没有人这样做并在生产中运行,也许可以分享他的经验?

  2. 我想要做的只是将 MQ 放在一个服务器上,从 Web 应用程序推送消息,并使用第二台服务器连接到第一台服务器上的 MQ,轮询消息(每秒)并执行一些操作。RabbitMQ 有可能吗?

谢谢你

4

1 回答 1

1
  1. 处理有什么问题while (true)?只要您在该循环中有一种机制可以优雅地摆脱它,它可能就是您所需要的。与 Windows SCM 集成也很好,您只需SERVICE_CONTROL_STOP服务控制处理程序函数中观察 SCM 事件并做出相应反应。

  2. 是的,完全合理且非常普遍。也就是说,可能不需要每秒轮询新事件。只需让您的消费者启动一个线程,该线程无限期地轮询 RabbitMQ 并在事件到达后处理它们。否则,您将招致大量不必要的轮询流量。

于 2012-06-12T20:17:53.287 回答