2011-10-06 50 views
0

我有一个后端系统,它将事件放入我的系统。这些事件不会丢失是非常重要的(我为一家医疗保健公司工作,丢失的信息会影响病人的护理)。将NServiceBus与AIX主机连接

我想让这个系统将它的数据放入NServiceBus,以便它可以发布给需要它的订户。但是,放弃这些消息的服务器是AIX机器,因此无法运行.NET代码。

该系统可以通过许多标准协议和通信类型(TCP,WSDL Based Services,Call A Database Sproc等)发送消息。

我考虑的一个选项是设置AIX大型机将调用的WCF服务。然后我可以让我的WCF服务调用NServiceBus。

但是,此后端服务每分钟发送的事件有时可能相当高(每分钟大约500条消息)。我担心WCF不能达到这个目标,而NService总线说它可以每秒处理1000条消息。我也担心万一发生停机时数据丢失。 NserviceBus声称它不会丢失任何数据。

我错了吗? WCF会好吗?还是我在链条中建立一个薄弱环节?

有没有一种方法可以使用已建立的协议将项目直接添加到NServiceBus队列?

或者我应该写我自己的.NET应用程序,它将允许NServiceBus使用TCP连接?

注意:由于这些消息是关键的,必须确认消息或服务器将继续发送它。

回答

0

我会看看开箱即用的WCF集成。 WCF服务包含在与NSB相同的主机中。集成只不过是将消息推送到队列中,所以我认为你不会遇到吞吐量问题。看到这是关键数据,我会建议集群服务。另一种选择是在不同的计算机上安装2个或更多服务实例,并在两者之间平衡HTTP调用。实质上,您将有1个逻辑发布器和2个物理组件进行发布。