当前位置:  开发笔记 > 数据库 > 正文

MSMQ与临时表转储

如何解决《MSMQ与临时表转储》经验,为你挑选了1个好方法。

我知道这个问题之前已被问过了.但环顾四周我仍然无法让自己明白我应该走哪条路.这是我的情景,希望你可以提供帮助:

我们将提供一系列网络服务,这些服务将被数百个移动应用程序按计划进行.这些服务将设备上的数据与新信息一起发送到设备并从它们返回.从设备返回的数据将需要更新单个中央SQL服务器数据库,该数据库还提供多个桌面应用程序和网站.

为了减少这些服务的请求/响应的时间,我们决定在事实之后处理来自设备的数据,方法是将它们粘贴在MSMQ实例中或将序列化的对象存储在临时数据存储中并具有Windows服务稍后处理它们.

所以这是我的选择,但除此之外还有一些可能有助于你们提醒我的事情:

从设备返回的数据不会在需要在服务器端订购的较小消息包中返回.

我对MSMQ一无所知,但我以前写过Windows服务.虽然如果需要,我可以选择MSMQ.

我想保留设备的响应,以防由于某些原因由数据导致处理失败.通过这种方式,我可以询问数据并查看是否存在问题,即设备允许用户添加扩展服务器端数据库中相关字段长度的注释.

有了这些信息,您认为值得我学习MSMQ还是应该坚持使用更简单的解决方案?

克里斯.



1> Patrik Svens..:

MSMQ不是一个糟糕的选择,绝对不难学,但请记住,您应该注意一些限制.

缺点:

每个队列只能是2GB.

每条消息4MB(尽管4MB限制可以通过使用MSMQ和WCF来修复).

仅适用于Windows,因此您只能将其与.NET,C/C++或COM库一起用于启用COM的环境.

优点:

支持Windows网络负载均衡器.

支持Microsoft群集服务.

与Active Directory集成.

用Windows运输.

支持交易.

Windows事件日志中的审核消息可以跟踪MSMQ消息.

消息可以在发送时自动进行身份验证(签名)或加密,并在接收时进行验证和解密.

您可能需要考虑的另一种方法是将数据写入临时表.这可能是一个好主意,因为您希望有一个消息返回日志.

当我不了解系统的其他部分架构时很难提供建议,但我希望这个答案会有所帮助.

有用的链接

在.NET中编程MSMQ - 第1部分
使用MSMQ和WCF

推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有