Sun Java System Application Server 9.1 高可用性管理指南

创建 HTTP 运行状况检查器

负载平衡器的运行状况检查器将定期检查被标记为异常的所有已配置的 Application Server 实例。运行状况检查器不是必需的,但如果没有运行状况检查器,或者禁用了运行状况检查器,则不会执行异常实例的定期运行状况检查。负载平衡器不能确定异常实例变为正常的时间。

负载平衡器的运行状况检查机制使用 HTTP 与应用程序服务器实例进行通信。运行状况检查器将 HTTP 请求发送给指定的 URL 并等待响应。HTTP 响应标题中的状态码在 100 到 500 之间时表示实例处于正常状态。


注 –

如果在您的部署方案中负载平衡器是一个群集的前端,该群集具有使用启用了客户机证书验证的受保护端口的实例,则运行状况检查器将无法执行实例的运行状况检查。因此,那些实例将始终被标记为异常,且不会向它们发送请求。


创建运行状况检查器

要指定运行状况检查器属性,可以使用管理控制台或 asadmin create-http-health-checker 命令。要在管理控制台中执行此操作,请导航到“HTTP 负载平衡器”节点,展开它并选择负载平衡器。然后,打开“目标”选项卡,在“目标”表中,单击所需目标的“编辑运行状况检查器”链接。指定下列参数。

表 5–2 运行状况检查器参数

参数 

说明 

默认值 

Load Balancer 

单击“已启用”复选框以使所选服务器可用于负载平衡。 

False/Disabled 

Disable Timeout 

此服务器在被禁用后到达停顿状态所用的时间(以分钟为单位)。 

30 分钟 

url 

指定负载平衡器检查的侦听器的 URL 以确定其运行状况。 

"/" 

interval 

指定进行实例的运行状况检查的时间间隔(以秒为单位)。指定 0 将禁用运行状况检查器。 

30 秒 

timeout 

指定超时间隔(以秒为单位),必须在该时间间隔内获得响应才能认为侦听器运行正常。 

10 秒 

如果应用程序服务器实例被标记为异常,运行状况检查器将轮询异常实例以确定实例的状态是否已变为正常。运行状况检查器使用指定的 URL 来检查所有异常的应用程序服务器实例,以确定这些异常的应用程序服务器实例是否已返回到正常状态。

如果运行状况检查器发现某个异常实例已变为正常,该实例将被添加到正常实例列表中。

有关这些命令的更多信息,请参见 create-http-health-checker(1)delete-http-health-checker(1)

正常实例的附加运行状况检查属性

create-http-health-checker 创建的运行状况检查器仅检查异常实例。要定期检查正常实例,请在导出的 loadbalancer.xml 文件中设置某些附加属性。


注 –

只能在导出 loadbalancer.xml 之后,通过对此文件进行手动编辑来设置这些属性。没有等效的 asadmin 命令可以使用。


要检查正常的实例,请设置以下属性。

表 5–3 运行状况检查器手动设置属性

属性 

定义 

active-healthcheck-enabled

True/False 标志,用于表示是否要对正常服务器实例执行 Ping 操作以确定这些实例是否正常。要对服务器实例执行 Ping 操作,请将标志设置为 True。 

number-healthcheck-retries

指定将未响应的服务器实例标记为异常之前,负载平衡器的运行状况检查器执行 Ping 操作的次数。有效范围在 1 到 1000 之间。默认设置值为 3。 

通过编辑 loadbalancer.xml 文件来设置属性。例如:

<property name="active-healthcheck-enabled" value="true"/>
<property name="number-healthcheck-retries" value="3"/>

如果添加了这些属性,随后再次编辑并导出 loadbalancer.xml 文件, 则新导出的配置将不包含这些属性。必须再次将这些属性添加到新导出的配置中。