在 .NET 中使用 RabbitMQ 发布/订阅示例

本文关键字:发布 RabbitMQ NET | 更新日期: 2023-09-27 17:56:14

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

  • 一个发布者
  • 一个订阅者

我正在使用BasicPublish发布,BasicAck例如收听。如果我运行一个发布者和多个订阅者 - 在来自发布者的每个"发送消息"上 - 只有一个订阅者得到它。因此,发布者向订阅者发送消息的顺序(作为订阅者已启动),我想向所有订阅者发送一条消息。这个样本有什么问题?也许您可以通过RabbitMq提供发布者/订阅者消息交换的工作示例?

在 .NET 中使用 RabbitMQ 发布/订阅示例

您链接到的示例使用没有交换的简单队列,这可确保只有一个使用者将处理消息。要在 RabbitMQ 中支持 pub/sub,您需要首先创建一个交易所,然后让每个订阅者在该交易所上绑定一个队列。然后,生产者将消息发送到交易所,交易所会将消息发布到已绑定到它的每个队列(至少使用简单的扇出交换类型)。路由可以通过直接交换和主题交换来实现。

有关Java示例(可以很容易地转换为C#),请参阅此处。

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

我添加了有关此内容的新教程 .net 中的 RabbitMQ 入门

现在也有一些官方来源。