【发布时间】:2022-01-22 00:52:12
【问题描述】:
我们有多个服务并使用发布/订阅模式从服务 A 发送事件以由其他服务 (B & C) 处理。目标是允许多个队列通过匹配绑定键/主题来接收来自生产者的消息。
如果服务 B 和 C 先启动,这会很好。在这种情况下,Subscribe 方法创建 Exchanges 和 Queues 以在发布时接收消息。但是,如果服务 A 先启动,则发布的消息会丢失,因为没有创建接收队列。
寻找最佳实践方法以确保在发布前创建队列。生产者不了解消费者,并且随着时间的推移,对于给定的消息类型可能会有更多消费者,因此我们不能让生产者代码负责创建队列。
我们当前的实现是在背板上使用 RabbitMQ,但我们希望随着时间的推移迁移到 SQS 和 Azure 服务总线,因此我们需要它与 Message Broker 无关
【问题讨论】:
标签: publish-subscribe masstransit