我将NServiceBus与Server和MSSQL结合使用。
我希望确保在高并发情况下不会在数据库中获得无效数据。
从文档中,我知道since使用了自4.1.1版本以来的悲观并发。但我不确定它是如何工作的,因为在"启动Saga“和"对Saga状态的更改”下只提到了乐观并发。
每个传奇实例一次只处理一条消息,其余的消息都在队列中等待由佐贺处理吗?
另外,是否可以将并发配置为使用乐观并发而不是SQL持久化程序的悲观并发?
发布于 2021-06-01 07:03:19
乐观并发控制和悲观锁定都会导致saga实例只能处理1条消息。
可以使用以下方法处理多条消息:
对于悲观主义者和乐观者,你不能选择。最新版本使用悲观锁定。请参阅https://docs.particular.net/persistence/sql/saga-concurrency
从4.1.1版本开始不会发生冲突,因为持久性使用悲观锁定。悲观锁定是通过执行选择.用于更新或其方言特定的等价物。 在更新或删除saga数据时,SQL持久性使用乐观并发控制,包括4.1版本。
https://stackoverflow.com/questions/67719545
复制相似问题