我正在使用 azure 服务总线主题,并且我已为其订阅启用 session 。
在我的逻辑应用程序中,我使用来自主题的 SQL 事务插入数据 我正在使用主题订阅(peek-lock)和 在订阅者级别并发设置为默认值,如下
根据我的理解,我的逻辑应用程序(订阅者)应该读取所有消息并且必须在 FIFO 中处理
我的逻辑应用程序就像
这意味着它应该以有序的方式向表中插入数据
但是,当我检查触发器日志时,它显示正确的顺序,但在数据库级别,您可以看到顺序没有发生
最佳答案
消息排序是一项微妙的事情。您可以使用消息排序或并发处理,但不能同时使用两者。一旦您必须进行消息排序,您就失去了并发处理的能力。这对于 Azure 服务总线 session 和逻辑应用并发控制都是正确的。您可以处理多个 sessions ,但每个 session 仍仅限于单个处理器。这是 post关于它。
关于Azure 服务总线主题订阅者接收消息不按顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57850552/