8.8. 另一个实例上的远程客户端
本节介绍在 JBoss EAP 实例上部署的客户端应用如何调用部署在另一个 JBoss EAP 实例上的集群状态 Bean。
在以下示例中,涉及三台服务器:服务器 X 和 Y 都属于群集,并在其上部署了群集 EJB。还有另一个服务器实例服务器 C,它们不一定具有群集功能。服务器 C 充当客户端,上面有想要调用服务器 X 和 Y 上部署的集群 Bean 并实现故障转移的部署。
配置在 jboss-ejb-client.xml
文件中完成,该文件指向到其他服务器的远程出站连接。jboss-ejb-client.xml
文件中的配置正在服务器 C 部署中,因为 server C 是客户端。客户端配置不需要指向所有群集节点,而仅指向其中一个节点。这将充当通信的起点。
在这种情况下,远程出站连接从服务器 C 创建至服务器 X,然后将服务器 X 用作通信的起点。与远程单机客户端类似,服务器 C 上的应用查找有状态 Bean 时,会话创建请求将发送到服务器 X,该服务器返回会话 ID 及其群集关联性。服务器 X 也会将异步消息发回到包含集群拓扑的服务器 C。此拓扑信息包括服务器 Y 的节点信息,因为服务器 Y 属于群集和服务器 X。代理上的 Subsequent 调用将相应地路由到群集中的节点。如果服务器 X 停机,如前文中所述,将选择与群集不同的节点,并将调用转发到该节点。
其他 JBoss EAP 实例上的远程单机客户端和远程客户端在故障转移方面表现相似。