【发布时间】:2012-10-01 21:51:54
【问题描述】:
现在我正在考虑如何组织系统架构。该系统将由网站组成,用户可以在其中上传一些文档,然后将其处理回来,以及一些后台守护进程,其中包含应处理提供的文档的任务队列。
我的问题是: 我是否应该将我在上面告诉您的守护进程实现为仅具有命名管道的 WCF 服务(不需要对该服务的网络访问)?
对此有何建议/提示/建议?
用户可以提供的数据只是一堆 XML 文件。 ASP.NET 网站将公开获取此 XML 文件的功能,然后应该能够以某种方式将它们传递给守护进程。
能否请您指出有关该主题的一些文章。 提前致谢!
后编辑
在几个小时后发现了人们建议的 MSMQ,我认为该技术更多地用于分布式架构(处理节点位于不同的机器上,并且不同的计算机之间通过网络交换消息)。
目前不需要分离到独立的机器。将只是在作为 ASP.NET 网站和一些处理程序的机器上。
使用MSMQ有必要吗?
后编辑 #2
由于我在这里使用 .NET Framework,请建议只提供与 .NET 兼容的内容。这里真的没有任何选择。
【问题讨论】:
-
谨慎的做法是设置 WCF,以便您可以在单独的盒子上运行处理和站点 - 这样繁重的后台处理不会影响 Web 服务器的性能。
-
通过 MSMQ 将 wbesite 连接到守护进程对我来说似乎更简单
-
@JonEgerton 在项目的当前阶段,我们不适合使用单独的服务器。不过谢谢你的建议!
-
@lboshuizen 你能分享一些这方面的知识吗?看来正是我需要的。
-
即使您不需要 MQ 系统提供的分发灵活性,您也应该仅仅为了它提供的便利而使用它。任何自制的异步/调度程序代码都将比最初预期的更容易出错、更复杂,而且未来的证明也更少。