使用RabbitMQ在.NET中发布/订阅样本

时间:2011-05-10 14:18:11

标签: c# rabbitmq publish-subscribe messagebroker

我已经构建了这个示例:Getting Started With RabbitMQ in .net,但是制作了两个程序:

  • one-publisher
  • 一订户

我正在使用BasicPublish发布和BasicAck来监听,例如。如果我在发布者的每个“发送消息”上运行一个发布者和几个订阅者,则只有一个订阅者获得它。因此,发布者向订阅者发送消息,并且我想向所有订阅者发送一条消息,因此存在一些订单(如订阅者已启动)。这个样本有什么问题?您可以通过RabbitMq提供发布者/订阅者消息交换的工作样本吗?

3 个答案:

答案 0 :(得分:10)

您链接到的示例使用简单排队而不进行交换,这可确保只有一个消费者将处理该消息。要在RabbitMQ中支持pub / sub,您需要首先创建一个Exchange,然后让每个订阅者在该Exchange上绑定一个Queue。然后,生产者向Exchange发送消息,Exchange将消息发布到已绑定到它的每个队列(至少使用简单的Fanout交换类型。可以通过Direct和Topic交换实现路由。)

对于Java示例(可以很容易地转换为C#),请参阅here

修改 可以找到更新的.Net版本here

答案 1 :(得分:4)

我添加了一个关于此Getting Started With RabbitMQ in .net

的新教程

答案 2 :(得分:1)

现在还有一些official sources