我有一个传入的消息队列在SQL数据库(当前MS SQL Server)中实现,可通过Web服务访问。此Web服务运行遗留协议我们无法控制,并且必须返回一个“没有消息队列的回应,或两者:在队列 并发问题与数据库队列,需要便携式解决方案
- 详细在队列
用于此算法的消息是目前非常粗糙:
- 在队列中选择所有的消息
- 剩余的消息数=行数 - 1个
- 更新最古老的消息,集采集标志
我们正在向那里这个现在可以同时访问的情况,并已明显遇到并发问题在同一消息被拾取两次。
我们遇到的问题是,我们需要一个便携式解决方案与最低部署要求。理想情况下,这意味着没有存储过程,并且没有引擎专用锁。
有没有人有任何明智的想法?
谢谢!
我会假设存储过程不可移植,因为不是所有的数据库都有它们......如果它们端口到另一个数据库解决方案它不会工作。 – 2011-04-05 16:24:10
基本上是的 - 我们担心这个功能在另一个SQL引擎上不可用,并且增加了部署需求的复杂性。 – spronkey 2011-04-06 10:11:40