0

我正在使用带有会话的 Azure 服务总线主题/订阅。我正在为 sessionId 设置硬编码值,因为我想控制传入消息的处理。

因此,即使有多个符合条件的订阅者可以处理此消息,也只有一个会获得会话锁并处理它。一旦完成处理,我通过关闭会话来释放锁定,以便任何处理器都可以接收新消息。我唯一关心的是,在消息处理完成后关闭会话有什么缺点吗?如果我关闭会话,关闭会话的处理器是否能够打开会话并在以后处理消息?

TIA

4

1 回答 1

0

会话通常用于消息组而不是单个消息。当您希望按顺序 (FIFO) 处理这些消息时,单个订阅者应处理该订阅,直到会话中的消息全部处理完毕。然后,你做什么,关闭一个会话,就可以了,因为它最终会过期。更不用说您的订阅者可以开始处理另一个会话,而不是等待“空”会话超时。

如果您每个会话只有一条消息,我建议您不要一开始就使用会话。

于 2020-06-09T17:53:04.553 回答