【问题标题】:Azure Service Bus and Messaging SessionsAzure 服务总线和消息会话
【发布时间】:2012-08-22 11:46:42
【问题描述】:

我一直在研究 Azure 服务总线队列(NOT Azure 存储队列)。我读过的所有细节都表明它支持FIFO semantics,但仅限于“消息会话”的上下文中。问题是我似乎找不到任何关于这在 Azure 上下文中到底是什么的信息。这是 WCF 构造,还是 Azure 服务总线特有的构造?我假设它与本地交易无关,但我不是 100% 确定。

任何指针都会非常有帮助。谢谢!

【问题讨论】:

    标签: azure azure-queues azureservicebus


    【解决方案1】:

    具体来说,它指的是MessageSession,它是AcceptMessageSession 方法,它通过仅返回给定会话ID 的消息来保存密钥,这可能是一个暗示某种排序的序列。 Brokered Messaging: Session Messages 示例应该有助于澄清,Best Practices 文档是另一个很好的参考。

    【讨论】:

    • 吉姆 - 感谢您的回答。如果我理解,会话 id 可用于订购消息,但框架中没有任何内容可以提供这些会话 id。这意味着您必须生成序列号以用于 FIFO 的会话 ID。这是正确的吗?
    • 是的,这也是我读到的……我希望找到一个使用 FIFO 的具体示例,但我提到的示例是最接近的。
    • 谢谢吉姆。如果我把一个值得发布的放在一起,我会在这里添加。
    • 有趣的问题和答案我也在问同样的问题...您找到或创建了 FIFO 的示例吗?
    【解决方案2】:

    取自MSDN:

    SessionId:如果消息具有 Microsoft.ServiceBus.Messaging.BrokeredMessage.SessionId 属性集,然后是服务总线 使用SessionId 属性作为分区键。这样,所有属于 相同的会话由相同的消息代理处理。这使服务总线能够 保证消息顺序以及会话状态的一致性。

    对于使用SessionIdAcceptSessionReceiver 的编码示例see.

    【讨论】:

      猜你喜欢
      • 2020-10-23
      • 2018-12-31
      • 2015-06-26
      • 1970-01-01
      • 1970-01-01
      • 2017-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多