gpt4 book ai didi

azure - Azure 服务总线 session 是否保证 FIFO 顺序?

转载 作者:行者123 更新时间:2023-12-03 04:55:23 29 4
gpt4 key购买 nike

Azure 文档 https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-azure-and-service-bus-queues-compared-contrasted以及不同的文章 https://jaliyaudagedara.blogspot.com/2021/04/azure-service-bus-handling-fifo-using.html
How do you support FIFO message ordering with Azure Service Bus partitioned queues/topics? .
https://devblogs.microsoft.com/premier-developer/ordering-messages-in-azure-service-bus/ .
https://connectedcircuits.blog/2020/03/19/ensuring-ordered-delivery-of-messages-using-azure-functions/ .

告诉我们,当有多个接收者监听同一个队列时, session 可用于维护 FIFO 顺序。

但是Don’t assume message ordering in Azure Service Bus文章(写于 2014 年)和同一作者 Ben Morris 的帖子 https://stackoverflow.com/a/29037645/52277声称 session 数不足以保证。

This isn’t enough to guarantee the order in which events areprocessed. For example, when a consumer reads a message using thedefault PeekLock mode it takes an exclusive lock for a set period oftime. If this lock times out then the message is returned to thequeue. This means it could be processed in the wrong order or evenmore than once.

这听起来像是一个合理的担忧。

它是否适用于现代 Azure 服务总线?如果是,解决方法是什么?

最佳答案

启用 session 设置的 Azure 服务总线队列将确保消息的 FIFO 顺序处理。随着事物的不断发展,必须始终引用当前的文档。当前documentation在下面的段落中进行了澄清,

<小时/>

session 接收方持有的 session 锁是 peek-lock 结算模式所使用的消息锁的总括。只有一个接收者可以锁定 session 。接收方可能有许多正在传输的消息,但消息将按顺序接收

<小时/>

因此,只要您的队列启用了 session ,那么您就只能自动发送填写了 SessionId 属性的消息,就可以确定 FIFO 处理。

关于azure - Azure 服务总线 session 是否保证 FIFO 顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69950471/

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