Azure Service Bus会话订购

时间:2018-11-23 15:15:20

标签: azureservicebus

假设我们有以下消息,它们都是同一会话的一部分,并按字母顺序放在主题上。

A,B,C,D

会话接收者将先接收并处理消息A,然后再转移到消息B。

但是如果无法处理消息A会发生什么。接收器会自动移动到B上吗?还是仍然尊重排序?

1 个答案:

答案 0 :(得分:1)

您可以在Message sessions: first in, first out (FIFO)中找到答案:

  

会话接收者持有的会话锁是窥视锁结算模式使用的消息锁的保护伞。接收者不能同时“运行中”有两个消息,但是必须按顺序处理这些消息。 仅当前一条消息已完成或用字母标明时,才能获得新消息。放弃一条消息会使同一条消息在下一次接收操作中再次发送。

简而言之,这意味着,在您的示例中,由于消息A超过MaxDeliveryCount而被死信时,将处理消息B。