我有一个由8个服务器组成的分布式应用程序,所有服务器都运行.NET windows服务。每个服务都会查询数据库以查找可用的工作包。分布式系统:sql服务器代理实现
轮询机制对于其他原因很重要(现在太无聊了)。
我在考虑这个轮询机制最好在队列中实现,因为.NET服务都将定期轮询数据库,并且在负载不足时我不想死锁。
我在想我会希望每个.NET服务都将消息放入输入队列。数据库服务器将一次一个地弹出输入队列的每条消息,对其进行处理,并将回复消息放在另一个队列中。
我遇到的问题是SQL Server Broker(SSB)的大多数示例都位于数据库服务之间,而不是从.NET客户端启动。我想知道SQL Server Broker是否只是这项工作的错误工具。我发现代理T-SQL DML可从.NET获得,但我认为这应该起作用的方式似乎不适合SSB。
我认为我需要一个带有2个队列(进出)和单个激活存储过程的SSB服务。
这似乎不是SSB的工作方式,我错过了什么吗?
欢迎计算器。您已经提出了一个很好的问题,但它可能会在http://dba.stackexchange.com或http://serverfault.com上得到更好的回复 – Stewbob