Web 服务器插件
Web 服务器插件使 Web 服务器可以将对动态内容的请求(如 Servlet)与应用程序服务器进行通信。Web 服务器插件与每个 Web 服务器定义关联。为每个插件生成的配置文件 (plugin-cfg.xml) 基于通过关联的 Web 服务器路由的应用程序。
- 基于 XML 的配置文件
- 防火墙产品可识别的标准协议
- 使用 HTTPS,在安全套接字层 (SSL) 上替换专用开放式 Servlet 引擎 (OSE) 的安全性
每个受支持的 Web 服务器插件都运行于多个操作系统上。请参阅产品支持的软件和硬件以获取有关受支持的 Web 服务器的最新信息。

亲缘关系请求
亲缘关系请求是包含 JSESSIONID 的请求。会话亲缘关系表示同一 JSESSIONID 的所有请求都会发送到同一应用程序服务器。例如,如果初始请求发送到 clone5,那么来自同一浏览器的下一个亲缘关系请求也会发送到 clone5,而不管 plugin-cfg.xml 文件中对 LoadBalanceWeight 属性指定的权重值为何。
如果为负载均衡选项 Web 服务器插件请求路由属性选择了轮询,并将 plugin-cfg.xml 文件的 IgnoreAffinityRequests 属性保留设置为其缺省值 true,那么亲缘关系请求不会降低权重。此行为可能导致使用会话亲缘关系的环境中的服务器之间的请求分布不均。将 IgnoreAffinityRequests 属性设置为 false 导致每次接收到亲缘关系请求时权重都会降低,这将形成更为均衡的轮询环境。
如果为负载均衡选项属性选择了随机,那么亲缘关系请求仍会发送到同一 cloneid,但新请求是随机路由的,并且为 LoadBalanceWeight 属性指定的值将被忽略。
故障转移
如果请求连接超出了 plugin-cfg.xml 文件中的 ConnectTimeout 属性指定的时间限制,或者从应用程序服务器返回了 5xx 错误,那么 Web 服务器插件会将该服务器标记为当机,并尝试连接 plugin-cfg.xml 文件中 PrimaryServers 属性指定的主服务器列表中的下一个应用程序服务器。如果 Web 服务器插件成功连接到其他应用程序服务器,那么对当机的应用程序服务器暂挂的所有请求都会发送到该应用程序服务器。所有其他新请求和亲缘关系请求都会发送到其他服务器,取决于对负载均衡选项 Web 服务器插件请求路由属性的设置是轮询还是随机。
通常,对于请求和响应,首次超过 plugin-cfg.xml 文件中的 ServerIOTimeout 属性指定的时间限制时不会进行故障转移。而是,Web 服务器插件尝试使用新流将请求重新发送到同一应用程序服务器。如果再次超过 ServerIOTimeout 属性指定的时间,那么 Web 服务器插件会将服务器标记为不可用,并启动故障转移进程。

运行多个 Web 服务器子进程
- Web 服务器插件的多个运行实例不能共享信息。因此,Web 服务器插件实例之间不会共享每个应用程序服务器的不断更改的负载均衡权重。例如,Web 服务器插件的一个实例可能认为某个应用程序服务器的运行权重为 5,而 Web 服务器插件的另一个实例可能认为同一应用程序服务器已经当机不可使用。根据处理入局请求的 Web 服务器插件的不同,这种不同视角可能导致对该请求进行不同处理。
- 基于具体实例对 Web 服务器插件设置进行处理。例如,MaxConnections 属性指定该 Web 服务器上对每个 Web 服务器插件实例允许的暂挂请求数。如果 MaxConnections 属性设置为 20,而您启动了 3 个 Web 服务器子进程,那么这 3 个 Web 服务器子进程中的每个子进程允许与同一应用程序服务器进行 20 个暂挂连接,这表示最多可以有 60 个暂挂连接。