我正在使用 JBoss EAP 5.1 并连接到远程 EJB,java.naming.provider.url 设置为:
corbaloc::server1:port,server2:port,server3:port,server4:port
这是如何实现负载平衡的?它并不总是按照从头到尾的顺序进行,是吗?它是随机的吗?
这完全取决于谁提供corbaloc:
JNDI URL 提供程序(在 JDK 中至少 1.6 没有提供),但是您通过将其描述为“负载平衡”来乞求这个问题。将其描述为“故障转移”会更准确。
在集群的 Websphere 环境中,您可以以您描述的形式与许多多个名称服务器进行通信。关于你的问题,这里提到:
您可以在 URL 中指定集群中所有服务器的引导地址。如果至少有一个服务器正在运行,则操作成功,消除了单点故障。不保证处理地址列表的任何特定顺序。例如,即使列表中第一个引导地址处的服务器可用,第二个引导地址也可用于获取初始上下文。