【问题标题】:How to debug azure service bus messaging?如何调试 Azure 服务总线消息?
【发布时间】:2020-05-04 19:23:29
【问题描述】:

我与多个开发人员一起工作。他们在队列“测试”上运行带有侦听器的服务。我也有听众。但我无法在我的听众上获得 brokeredMessage。 我可以关闭其他侦听器来为我的服务获取 brokeredMessage 吗?我可以为此使用政策吗? 我已经创建了调试策略并使用了这里的连接字符串。我还检查了listen 开发选项,但我看到一些听众再次捕捉到了brokeredMessage。如何解决?谢谢

【问题讨论】:

    标签: azure azureservicebus


    【解决方案1】:

    如果我正确理解您的问题,您在 Azure 服务总线中设置了一个队列“测试”,并且您有多个侦听器在消息发布时对其做出反应,对吗?

    如果您使用的是 Azure 服务总线队列,那么当向其发布消息时,它将一直保留在那里,直到侦听器将其从队列中移除以进行处理。发生这种情况时,该消息将不再可供其他侦听器接收,因为其目的是该消息仅被处理一次。

    如果您想让多个侦听器监视队列中出现的消息并对其做出反应,可能会为消息处理不同的事情,例如一个侦听器检查库存,另一个侦听器处理付款,那么您可能想看看使用服务总线中的主题/订阅工具 - 这允许您使用规则创建不同的订阅,这可以帮助您管理多个侦听器对消息的多次处理。

    希望这会有所帮助。

    【讨论】:

    • 是的,你对几个听众来说是对的,我们应该使用Topics/Subscriptions,但在这里我只需要一个听众。问题只是在开发环境中,我们有几个听众,因为有几个开发人员在上面工作。如果我在本地运行侦听器,我需要解决方案我应该在本地获取所有 brokeredMessages
    • ...那么您要么需要停止其他侦听器,要么创建一个单独的队列供您使用。
    • 我在Shared access policies 看到我可以添加 debuggerPolicy 并关闭 devPolicy 的侦听选项它应该对我有帮助,但我认为应该重新启动其他侦听器以使用新的策略规则
    • 好的,我可以使用会话吗?如果我们有单独的命名空间,例如vasyl(开发人员姓名),则每个开发人员的发送者和接收者会话名称。我认为它可以提供帮助。你怎么看?
    猜你喜欢
    • 2020-06-11
    • 2015-06-26
    • 1970-01-01
    • 1970-01-01
    • 2021-09-17
    • 2012-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多