首页 文章

如何在发布期间订阅者关闭时检索仍在队列中的Azure服务总线消息

提问于
浏览
0

我们正在尝试使用Azure主题/订阅将一个域中的更改分发给需要更新其本地缓存的其他服务 . 所以我们有一个人发布消息和一堆,不知道彼此,听这个主题队列 .

我可能会想到天蓝色的TopicDescription.DefaultMessageTimeToLive,但我认为只要消息仍在此超时范围内,它就会被传递,无论订阅者在发布时是否“在线” .

但这似乎不是这样的情况?

我想要实现的是,如果我将DefaultMessageTimeToLive设置为10分钟,则所有订阅者都可以保证在停机时间低于10分钟时获取所有已发布的消息 .

当我尝试它时,除非我在发布时正在收听,否则我不会收到消息 . (补充说明:每个接收队列都有自己唯一的名称)

我弄错了还是有错过的配置?

1 回答

  • 0

    如果您希望N个订阅者(听众)可以使用主题,那么您需要N个订阅 . 订阅是"virtual" FIFO队列 . 如果订阅具有多个侦听器,则它们将"compete"用于下一条消息 . 这种模式通常被称为“竞争消费者”模式 . 阅读更多内容,请致电Service Bus Queues, Topics, and SubscriptionsHow to Use Service Bus Topics/Subscriptions .

    TopicDescription.DefaultMessageTimeToLive只定义消息在移动到死信队列之前可用的时间 .

相关问题