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

设置 HTTP 负载平衡

本节介绍了如何设置负载平衡器插件,并且包含以下各节:

设置负载平衡的先决条件

配置负载平衡器之前,您必须执行以下操作:


注 –

如果具有在不同网络域上安装 Application Server 实例和负载平衡器的部署方案,必须通过使用选项 --agentproperties 指定全限定域名来创建节点代理。例如,asadmin create-node-agent --agentproperties remoteclientaddress=machine1.server.example.com test-na。有关此命令的更多信息,请参见 create-node-agent(1)


设置负载平衡的步骤

使用管理控制台 GUI 或 asadmin 工具在您的环境中配置负载平衡。以下各节为您提供更多信息。

Procedure使用管理控制台设置负载平衡

  1. 创建负载平衡器配置。

    在管理控制台的左框架上,单击“HTTP 负载平衡器”,然后单击“新建”。在“新建 HTTP 负载平衡器”页面中,提供设备详细信息,并选择目标群集或实例。

  2. 添加对群集或独立服务器实例的引用,以供负载平衡器进行管理。

    要使用管理控制台执行此操作,请在左框架上,单击“HTTP 负载平衡器”节点,然后单击该节点下列出的所需负载平衡器。打开“目标”选项卡,单击“管理目标”,然后在“管理目标”页面中选择所需的目标。

    如果您创建了具有目标的负载平衡器配置,并且该目标是负载平衡器引用的唯一群集或独立服务器实例,则请跳过此步骤。

  3. 启用负载平衡器所引用的群集或独立服务器实例。

    要使用管理控制台启用独立服务器实例,请在左框架上,单击“HTTP 负载平衡器”节点,然后单击该节点下列出的所需负载平衡器。打开“目标”选项卡,在“目标”表中单击要启用的实例旁边的复选框,然后单击“启用”。

    要启用群集中的服务器实例,请选择负载平衡器(如上所述),然后在“目标”选项卡中单击所需的群集。现在,打开“实例”选项卡,选择所需的实例,然后从“负载平衡器操作”下拉列表中选择“启用负载平衡”。

    启用群集或独立实例的等效命令是 asadmin enable-http-lb-server

  4. 启用用于负载平衡的应用程序。

    要使用管理控制台执行此操作,请打开“目标”选项卡(如上所述),然后单击所需的群集。现在,打开“应用程序”选项卡,选择所需的应用程序,然后从“更多操作”下拉列表中选择“负载平衡器启用”。

    这些应用程序必须已部署到负载平衡器所引用的群集或独立实例上,并且已启用,可以在群集或独立实例上使用。启用应用程序以用于负载平衡与启用以使用这些应用程序是两个独立的步骤。

  5. 创建运行状况检查器。

    要使用管理控制台执行此操作,请打开负载平衡器的“目标”选项卡(如上一步所述),然后在“目标”表中单击“编辑运行状况检查器”。

    运行状况检查器监视工作异常的服务器实例,以便在这些服务器实例重新正常工作时,负载平衡器可以向它们发送新请求。


    注 –

    如果使用的是 Sun Java System Web Server(6.1 或 7.0),则可以在单个步骤中生成负载平衡器配置文件并通过线路将数据发送到 Web Server,而不是执行步骤 6 和 7。

    要使用管理控制台执行此操作,请单击所需的负载平衡器,然后打开“导出”选项卡。在此选项卡中,单击“立即应用更改”。这会将数据发送到 Web Server 配置目录。


  6. 生成负载平衡器配置文件。

    要使用管理控制台执行此操作,请单击负载平衡器,然后打开“导出”选项卡。在此选项卡中,单击“立即导出”。

    此命令将生成一个配置文件,该配置文件要与 Sun Java System Application Server 附带的负载平衡器插件一起使用。

  7. 将负载平衡器配置文件复制到 Web Server 的 config 目录中,此目录用于存储负载平衡器插件的配置文件。


    注 –

    要在单个步骤中自动生成负载平衡器配置文件并通过线路将数据发送到 Web Server,需要为 SSL 设置配置 Web 服务器并导入 DAS 证书。有关配置 Sun Java System Web Server 的信息,请参见配置 Sun Java System Web Server


Procedure使用 asadmin 工具设置负载平衡

  1. 创建负载平衡器配置。

    为此,请使用命令 asadmin create-http-lb-config


    注 –

    可以使用单个 asadmin 命令 create-http-lb 及其选项执行所有后续步骤(步骤 2 到步骤 7)。有关此命令的更多信息,请参见 create-http-lb(1)


  2. 添加对群集或独立服务器实例的引用,以供负载平衡器进行管理。

    为此,请使用命令 asadmin create-http-lb-ref。有关此命令的更多信息,请参见 create-http-lb-ref(1)

    如果您创建了具有目标的负载平衡器配置,并且该目标是负载平衡器引用的唯一群集或独立服务器实例,则请跳过此步骤。

  3. 启用负载平衡器所引用的群集或独立服务器实例。

    为此,请使用命令 asadmin enable-http-lb-server。有关此命令的更多信息,请参见 enable-http-lb-server(1)

  4. 启用用于负载平衡的应用程序。

    为此,请使用命令 asadmin enable-http-lb-application。有关此命令的更多信息,请参见 enable-http-lb-application(1)

    这些应用程序必须已部署到负载平衡器所引用的群集或独立实例上,并且已启用,可以在群集或独立实例上使用。启用应用程序以用于负载平衡与启用以使用这些应用程序是两个独立的步骤。

  5. 创建运行状况检查器。

    为此,请使用命令 asadmin create-http-health-checker。有关此命令的更多信息,请参见 create-http-health-checker(1)

    运行状况检查器监视工作异常的服务器实例,以便在这些服务器实例重新正常工作时,负载平衡器可以向它们发送新请求。


    注 –

    如果使用 Sun Java System Web Server(6.1 或 7.0),而不是执行步骤 6 和 7,可以在单个步骤中生成负载平衡器配置文件并通过线路将数据发送到 Web Server。

    要使用 asadmin 工具执行此操作,请将 create-http-lb 命令的 --autoapplyenabled 选项设置为 true。有关此命令的更多信息,请参见 create-http-lb(1)


  6. 生成负载平衡器配置文件。

    为此,请使用命令 asadmin export-http-lb-config。有关此命令的更多信息,请参见 export-http-lb-config(1)。此命令将生成一个配置文件,该配置文件要与 Sun Java System Application Server 附带的负载平衡器插件一起使用。

  7. 将负载平衡器配置文件复制到 Web Server 的 config 目录中,此目录用于存储负载平衡器插件的配置文件。


    注 –

    要在单个步骤中自动生成负载平衡器配置文件并通过线路将数据发送到 Web Server,需要为 SSL 设置配置 Web 服务器并导入 DAS 证书。有关配置 Sun Java System Web Server 的信息,请参见配置 Sun Java System Web Server


HTTP 负载平衡器部署

根据您的目的和环境,可以使用不同方法配置负载平衡器,如以下各节所述:

使用群集服务器实例

部署负载平衡器最常用的方法是使用服务器实例的一个或多个群集。默认情况下,群集中的所有实例都具有相同的配置,并被部署了相同的应用程序。负载平衡器在服务器实例之间分配工作量并将请求从异常实例故障转移到正常实例。如果您已配置了 HTTP 会话持久性,则对请求进行故障转移时,会话信息将保留。

如果具有多个群集,可以跨群集对请求进行负载平衡,但是仅在单个群集中的实例之间进行故障转移。在一个负载平衡器中使用多个群集可以轻易启用应用程序的滚动升级。有关更多信息,请参见升级应用程序而不使可用性受到损失


注 –

不能跨群集和独立实例对请求进行负载平衡。


使用多个独立实例

您还可以将负载平衡器配置为使用多个独立实例,并在这些实例之间对请求进行负载平衡和故障转移。但是,在此配置中,您必须手动确保独立实例具有同构环境和部署到其上的相同的应用程序。由于群集自动维护同构环境,因此对于大多数情况,使用群集更好、更容易。