2010-12-16 75 views
1

我对运行JBoss ESB 4.9的JBoss应用程序服务器(5.1)的故障转移有疑问。我将与图开始:JBoss应用程序服务器的故障转移

diagram

我们有一个传统传输(“传统运输”)产生的数据的传统应用程序(“传统监制”)。我们编写了一个ESB服务(“网关”),用于监听传统传输并将收到的消息放入ESB。这些消息遵循几个编排步骤进行处理。

这适用于正在运行的一个应用程序服务器。但是,我们希望允许应用程序服务器发生故障。那么,一个天真的解决方案就是在集群配置中站出两个这样的应用程序服务器(如图所示)。但是,由于这会导致复制网关服务,因此每个消息的两个副本将在ESB上发布并进行处理,这是不希望出现的结果。

实现此类故障转移的正确方法是什么?

回答

1

正确的方法是在节点之间使用JMS集群。您需要查看AS/JBoss Messaging(或HornetQ)文档,了解如何执行此操作,ESB不包含任何快速入门来演示此操作。

它可能需要一些步骤来发布jUDDI信息以及两个节点,但是手册中有说明如何做到这一点。检查程序员指南“7.1。故障转移和负载平衡支持”

+1

更具体地说,如果“Legacy Transport”是基于文件系统的,那么如何确保两个实例之间没有出现近端竞争条件FileGatewayListeners,例如:一个文件出现在受监视的文件夹中,两个监听器同时触发,一个监听器通过追加.inProgress后缀重命名该文件,稍微慢一点的文件因为它已经被重命名而无法重命名文件?有没有可以防止这个问题的集群配置? – 2012-02-07 13:08:33

相关问题