繁体   English   中英

SQL Server队列与MSMQ(异步TCP服务器)

[英]SQL Server Queue Vs MSMQ (Asynchronous TCP server)

目前,我正在组装一个异步tcp服务器,一切似乎都融合在一起,但是现在我处于一个阶段,我需要弄清楚一旦接收到数据该怎么做(我应该提到它将用于接收数据)主要并且可能永远不会发送任何内容给客户)。

因为它是异步编写的,所以我特别不想在服务器应用程序本身中(在接收数据的处理程序中)对数据进行任何处理,以确保其性能尽可能最佳,尽管最终需要数据处理并提交给各种sql表是有用的。

作为先前在此处提出的问题的一部分

数据异步处理

Stephen Clearly指出,要确保没有消息因电源故障,系统故障等而丢失,我应该研究某种消息队列。

这样做时,我看到了多种方法,其中一种是使用SQL Server作为队列的主机。

我想知道使用SQL Service Broker和队列要比对仅包含UID,数据(不大于1024字节的字节数组)和已处理标志的表进行普通插入更快吗? 如果不是,在C#中使用最快的插入方法是什么

所述数据的处理可能会在同一服务器上的另一个应用程序中进行,该应用程序还将接收数据并托管sql服务器(如果有任何区别)。

任何意见或想法将不胜感激!

如果您负担得起许可费,我会推荐NServiceBus 如果您负担不起,请考虑使用MassTransit 两者都将为您管理消息队列。 它们都支持多种队列类型,例如:

  1. MSMQ
  2. 兔子MQ
  3. ActiveMQ
  4. 蔚蓝

从长远来看,在SQL Server中实现自己的排队系统是一个糟糕的选择。 到那里去了,得到了T恤。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM