JBoss应用服务器的故障转移
我有一个关于运行 JBoss ESB 4.9 的 JBoss 应用程序服务器 (5.1) 故障转移的问题。我将从一个图表开始:
我们有一个遗留应用程序(“遗留生产者”)在遗留传输上生成数据( “传统运输”)。我们编写了一个 ESB 服务(“网关”),用于侦听传统传输并将收到的消息放在 ESB 上。然后,消息将遵循几个编排步骤进行处理。
这在一台应用程序服务器运行时可以正常工作。但是,我们希望允许应用程序服务器出现故障。那么,一个简单的解决方案是在集群配置中建立两个这样的应用程序服务器(如图所示)。但是,由于这将导致复制网关服务,因此结果将是在 ESB 上发布并处理每条消息的两个副本,这是不希望的结果。
实施此类故障转移的正确方法是什么?
I have a question regarding failover with the JBoss application server (5.1) running JBoss ESB 4.9. I will begin with a diagram:
We have a legacy application ("Legacy Producer") producing data on a legacy transport ("Legacy Transport"). We have written an ESB service ("Gateway") that listens on the legacy transport and puts the messages received on the ESB. The messages then follow several orchestration steps to be processed.
This works correctly with one application server running. However, we wish to allow for the failure of an application server. A naive solution, then, is to stand up two such application servers (as shown), in a clustered configuration. However, since this would result in replicating the Gateway services, the result would be two copies of each message being published on the ESB and processed, an undesirable result.
What is the correct way to implement this type of failover?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
正确的方法是在节点之间使用JMS集群。您需要查看 AS/JBoss Messaging(或 HornetQ)文档来了解如何执行此操作,ESB 不包含任何快速入门来演示这一点。
可能需要一些步骤才能将 jUDDI 信息发布到两个节点,但手册中有如何执行此操作的说明。查看程序员指南“7.1.故障转移和负载平衡支持”
The correct way is to use JMS clustering between the nodes. You need to look at AS / JBoss Messaging (or HornetQ) documentation on how to do this, the ESB doesn't include any quickstarts to demonstrate this.
It might require some steps to publish the jUDDI information as well to both nodes, but there's instructions in the manuals how to do this. Check Programmer's Guide "7.1. Fail-over and load-balancing support"