0

我是一名刚起步的 Web 开发人员,正在从事一个雄心勃勃的 Web 应用程序项目。

所以在做了一些研究之后,我发现了 SQL Service Broker。这似乎是我可以使用的东西,但我不确定。由于学习它需要有人投入大量时间,因此我想确保它符合我的需求。

我需要实现一个网站用户可以向网站提交文本的系统。该消息流必须是冗余的并以 FIFO 方式处理,在流的另一端,另一组用户处理消息。

现在,最后一组用户中的一个正在阅读的消息应该被锁定,这样其他人就不能同时阅读它。然后用户可以决定是否处理该消息。只有当他决定处理该消息时,才能将其从队列中删除。如果他决定不想处理该消息,则应将该消息放回队列中(在队列的末尾,或至少具有最高优先级),以便另一个用户可以阅读并决定.

这是我可以用 SQL Service Broker 实现的吗?我在错误的轨道上吗?

谢谢!

4

1 回答 1

1

IMO,Service Broker 的最佳用途是以松散耦合的方式连接到独立的应用程序。我的意思是,以这种方式绑定的系统可以通过一组相互同意的消息类型进行通信。例如,这与一个应用程序直接操作另一个应用程序的数据库形成对比。

根据您所说,我会将其实现为一个简单的表,例如:创建一个带有身份 PK、分配标志和您的自定义列的消息表。每当操作员想要获取最后一条消息时,获取 Allocation = 'N' 的最低 PK 值并将 Allocation 更新为 'Y'。这在一个单一的交易中。当/如果操作决定将消息返回到队列,只需将其 AllocationFlag 设置为“N”并返回。

这只是一个例子。在这种情况下,数据库为您提供一致性、高负载性能等。

在屏幕后面,您提交给 SSB 的所有数据都以表格的形式存储和操作,因此没有理由让它比数据库解决方案更快。

于 2009-05-08T14:49:28.287 回答