文章参考https://docs.oracle.com/middleware/1221/wls/CLUST/load_balancing.htm#CLUST171
Servlet和JSP的负载平衡
使用代理插件进行负载平衡
WebLogic代理插件维护托管群集Servlet或JSP的WebLogic Server实例列表,并以循环方式将HTTP请求转发到这些实例。循环负载平衡中介绍了这种负载平衡方法。
如果WebLogic Server实例失败,该插件还提供了定位客户端HTTP会话状态的副本所必需的逻辑。
WebLogic Server支持以下Web服务器和关联的代理插件:
-WebLogic Server与 HttpClusterServlet
-带有Netscape(代理)插件的Netscape Enterprise Server
-带有Apache服务器(代理)插件的Apache
-带有Microsoft-IIS(代理)插件的Microsoft Internet信息服务器
使用外部负载均衡器进行负载均衡HTTP会话
采用硬件负载平衡解决方案的群集可以使用硬件支持的任何负载平衡算法。这些可以包括高级的基于负载的平衡策略,该策略可监视单个计算机的利用率。
除了分配HTTP流量外,外部负载平衡器还可以分配来自Java客户端的初始上下文请求t3以及默认通道。
负载均衡器配置要求
如果选择使用负载平衡硬件而不是代理插件,则它必须支持兼容的被动或主动cookie持久性机制以及SSL持久性。
-被动Cookie持久性
被动cookie持久性使WebLogic Server可以通过负载平衡器将包含会话参数信息的cookie写入客户端。
-主动Cookie持久性
您可以将某些活动的cookie持久性机制与WebLogic Server群集一起使用,只要负载均衡器不修改WebLogic Server cookie。WebLogic Server群集不支持覆盖或修改WebLogic HTTP会话cookie的活动cookie持久性机制。如果负载平衡器的活动cookie持久性机制通过将其自己的cookie添加到客户端会话来工作,则无需额外配置即可将负载平衡器与WebLogic Server群集一起使用。
-SSL持久性
使用SSL持久性时,负载平衡器将执行客户端和WebLogic Server群集之间的所有数据加密和解密。然后,负载平衡器使用WebLogic Server在客户端上插入的纯文本cookie来维护客户端与群集中特定服务器之间的关联。
负载平衡器和WebLogic会话Cookie
使用被动cookie持久性的负载平衡器可以在WebLogic会话cookie中使用字符串,以将客户端与托管其主要HTTP会话状态的服务器相关联。该字符串唯一地标识集群中的服务器实例。您必须使用字符串常量的偏移量和长度来配置负载均衡器。偏移量和长度的正确值取决于会话cookie的格式。
会话cookie的格式为:
sessionid!primary_server_id!secondary_server_id
sessionid是HTTP会话的随机生成的标识符。值的长度由weblogic.xml应用程序文件中元素中的IDLength参数配置。默认情况下,长度为52个字节。
primary_server_id并且secondary_server_id是用于会话的主要和次要主机的10个字符的标识符。
EJB和RMI对象的负载平衡
在为群集对象获取的副本感知存根中维护对象的负载平衡算法。
默认情况下,WebLogic Server群集使用循环负载平衡,如循环负载平衡中所述。您可以使用WebLogic Server管理控制台进行设置,从而为群集配置其他默认负