Jakarta ee Weblogic中跨集群EJB调用的负载平衡问题

Jakarta ee Weblogic中跨集群EJB调用的负载平衡问题,jakarta-ee,weblogic,ejb-3.0,weblogic12c,Jakarta Ee,Weblogic,Ejb 3.0,Weblogic12c,我们的应用程序有两个集群在WebLogic12C中运行 每个集群管理4台服务器。集群B正在通过外部JNDI对集群A进行EJB调用。在集群中,EJB调用没有分布在托管服务器上?这会导致集群A中的一台服务器过载。我们在集群配置中使用循环负载平衡 您能否告诉我,我们可以在Weblogic中进行任何其他配置,以使ejb调用实现负载平衡 问候,, Sakumar您需要设置外部JNDI URL来指定集群中的所有主机。如果客户机继续调用同一主机,集群是否负载平衡无关紧要 而不是将所有流量定向到一台主机: ja

我们的应用程序有两个集群在WebLogic12C中运行

每个集群管理4台服务器。集群B正在通过外部JNDI对集群A进行EJB调用。在集群中,EJB调用没有分布在托管服务器上?这会导致集群A中的一台服务器过载。我们在集群配置中使用循环负载平衡

您能否告诉我,我们可以在Weblogic中进行任何其他配置,以使ejb调用实现负载平衡

问候,,
Sakumar

您需要设置外部JNDI URL来指定集群中的所有主机。如果客户机继续调用同一主机,集群是否负载平衡无关紧要

而不是将所有流量定向到一台主机:

java.naming.provider.url = t3://server1:port1
尝试使用:

java.naming.provider.url = t3://server1:port1,server2:port2

编辑

听起来weblogic算法并没有达到您想要的效果,请看:


具体来说,
循环算法按顺序遍历WebLogic服务器实例列表
。所以它每次都会命中第一个服务器,因为这是列表中的第一个服务器。我建议尝试另一种算法或使用外部负载平衡器这是weblogic中的一个缺陷,负载平衡算法无法用于基于版本的应用程序ear部署

问候,,
Sakumar

我们已经在使用下面的URL t3://DMS-DD-2i:8001、DMS-DD-1i:8001、DMS-DD-2i:8011、DMS-DD-1i:8011,但服务器仍在启动对DMS-DD-2i:8001的调用,并编辑了一些可能有用的信息