MSMQ是这种情况的正确选择吗?

时间:2009-10-19 11:03:48

标签: c# msmq

我有一个电子商务应用程序,它托管在2个地理位置不同的服务器上

  • Server_A - 托管在我们的场所,包含我们的ERP(动态导航)软件和产品的产品。数据库

  • Server_B - 托管在外部数据中心 - Web应用程序&数据库(不在同一台服务器上 - 只是为了简化这个问题)

当有人在网站上下订单时,订单会写入Server_B上的订单表 这些订单需要放入Server_A订单表。

目前,有一个DTS脚本可以在Server_B中的任何订单上运行和复制,但不会运行Server_A 由于移动服务器和应用程序位,这已经变得难以管理。

我的想法是使用MSMQ在两个位置之间传输订单“消息”。

这是一个可行的选择吗?

3 个答案:

答案 0 :(得分:1)

在“本地”存储订单后,WebService调用怎么办?

答案 1 :(得分:1)

你在谈论msmq wcf对吗? http://code.msdn.microsoft.com/msmqpluswcf

答案 2 :(得分:1)

是的,这听起来很可行。

在几年前的一次MS活动中,情景几乎就是主持人使用的一个案例研究(即主要网站有一个紧密耦合的过程,在情人节订购期间无法扩展和崩溃 - 然后他们改为使用MSMQ,因此可以随时对订单进行排队,然后在其他机器能够进行处理后再进行处理。

只有MSMQ要记住的是它无法存储超过一定大小的消息(如果我记得的话,大约4MB)。听起来这对你来说并不重要,但是我遇到了一个障碍,我遇到了一个系统,该系统必须接收大量报告以及采购订单消息。