gpt4 book ai didi

azure - 具有 azure 服务总线的持久订阅者模式

转载 作者:行者123 更新时间:2023-12-02 07:37:22 25 4
gpt4 key购买 nike

我希望将 Azure 服务总线与主题结合使用,但需要处理订阅者可能没有监听其感兴趣的消息(例如服务器正在重新启动等)的情况。这是典型的持久订阅者模式,如此处所述 http://www.eaipatterns.com/DurableSubscription.html .

我不知道如何将其应用于 Azure 服务总线,而且我似乎在文档中找不到任何示例或讨论。这是 Azure 服务总线提供的功能还是我应该开始寻找 Azure 服务总线的替代方案?

最佳答案

它直接内置于服务总线中。只要创建了订阅,它就是持久的。您创建一个主题,然后创建一个或多个订阅。然后,一个或多个消费者在事件时收听订阅。如果它们变得不活动,例如服务器重新启动,则订阅会存储消息,直到消费者重新出现并请求消息为止。

只有当您在每个消费者变得活跃或不活跃时动态创建和销毁订阅时,服务总线才会是非持久的。如果没有订阅,则发送到主题的消息将丢失。创建订阅后,发送到该主题的任何消息(如果它们通过了应用的任何过滤器)都将在该订阅上可用,无论是否有任何事件使用者使用该订阅。订阅将一直存在,直到您删除它们,或者,如果您打开了空闲删除功能,它们会超过空闲删除时间。

您可以使用简单的控制台应用程序来验证这一点,或者使用 LinqPad 设置执行以下操作的代码:

  1. 创建主题。
  2. 创建有关该主题的订阅(无过滤器)
  3. 向该主题发送几条消息。
  4. 在不同的脚本或控制台应用中,为该订阅创建 MessageReceiver 并下拉消息。

订阅中的消息在该订阅的生命周期内是持久的,直到它们被处理(完成等)、它们被转发到其他地方或者它们过期。

关于azure - 具有 azure 服务总线的持久订阅者模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23081404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com