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

0x4*_*9D1 9 c# publish-subscribe rabbitmq messagebroker

我已经构建了这个示例:在.net中使用RabbitMQ入门,但是制作了2个程序:

  • 一个出版商
  • 一个订户

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

dle*_*lev 11

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

对于Java样本(可以很容易地转换为C#),请参阅此处.

编辑: 更新.Net版本可在此处找到