【问题标题】:How to hold Azure Serive Bus message queue processing on failliure?如何在失败时保持 Azure 服务总线消息队列处理?
【发布时间】:2020-03-29 03:19:00
【问题描述】:

在向第三方应用程序发送数据时,我正在向集成平台添加服务总线消息队列。

要求:

  • 如果第三方应用程序宕机/网络问题/数据问题,进程应该停止处理队列。它应该保留整个队列,直到第 3 方系统启动或数据问题得到修复。
  • 如果处理失败,需要发送电子邮件,但邮件不应移动到死信队列。
  • 消息应保留在同一点,直到可以继续。这样整个队列就处于保持状态。

有没有办法使用 Azure 服务总线消息队列来处理这个流?或任何替代方法来实现这一目标?

问候,

【问题讨论】:

  • 是您的应用在处理消息,还是集成平台在处理?你的第三个要点听起来好像有多个步骤来处理每条消息。对吗?
  • 集成平台做处理。步骤意味着,当收到一条消息时,如果我无法将该消息传递给第 3 方应用程序/api,那么我会发送一封电子邮件通知。而且我想保持队列在出错后不处理任何消息。

标签: azure azureservicebus azure-servicebus-queues


【解决方案1】:

通常情况下,我认为最好在故障期间“暂停”集成平台,并在下游问题得到解决后重新激活。如果可能,这可以是手动过程,也可以是自动过程。

话虽如此,Service Bus 确实提供了suspend entities(队列、主题、订阅)的功能。一旦发现问题,您可以在集成平台正在侦听的实体上禁用接收。这也可以自动化。

【讨论】:

    猜你喜欢
    • 2017-11-01
    • 2019-07-23
    • 2020-01-31
    • 2014-11-03
    • 1970-01-01
    • 1970-01-01
    • 2019-03-27
    • 1970-01-01
    相关资源
    最近更新 更多