Sun Java System Application Server Enterprise Edition 8.1 2005Q2 高可用性管理指南

设置 RMI-IIOP 负载平衡和故障转移

可以为应用程序客户机容器 (ACC) 中运行的应用程序和独立客户机应用程序设置 RMI-IIOP 负载平衡和故障转移。

Procedure为应用程序客户机容器设置 RMI-IIOP 负载平衡

此过程概要介绍了将应用程序客户机容器 (ACC) 与 RMI-IIOP 负载平衡和故障转移结合使用所需要的步骤。有关 ACC 的其他信息,请参见《Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Developer’s Guide》中的“Developing Clients Using the ACC”

  1. 转到 install_dir/bin 目录。

  2. 运行 package-appclient

    此实用程序生成一个 appclient.jar 文件。有关 package-appclient 的更多信息,请参见 package-appclient( 1M)

  3. appclient.jar 文件复制到需要作为客户机的计算机上,然后将其解压缩。

  4. 编辑 asenv.confasenv.bat 路径变量,以引用该计算机上的正确目录值。

    该文件位于 appclient-install-dir/config/ 中。

    有关待更新路径变量的列表,请参见 package-appclient( 1M)

  5. 如果需要,请使 appclient 脚本成为可执行脚本。

    例如,在 UNIX 上使用 chmod 700

  6. 查找群集中实例的 IIOP 侦听器端口号。

    将 IIOP 侦听器指定为端点以确定哪个 IIOP 侦听器接收请求。要在管理控制台中显示 IIOP 侦听器,请执行以下操作:

    1. 在管理控制台的树组件中,展开“群集”节点。

    2. 展开群集。

    3. 在群集中选择一个实例。

    4. 在右窗格中单击“属性”选项卡。

      注意用于特定实例的 IIOP 侦听器端口。

    5. 对每个实例重复该过程。

  7. 为端点值编辑 sun-acc.xml

    使用前一步骤中的 IIOP 侦听器创建以下格式的端点值:

    machine1:instance1–iiop-port, machine2:instance2–iiop-port

    例如:

    <property name="com.sun.appserv.iiop.endpoints" value="host1.sun.com:3335,host2.sun.com:3333,host3.sun.com:3334"\>

  8. 部署客户机应用程序,同时使用 --retrieve 选项获取客户机 jar 文件。

    将该客户机 jar 文件保留在客户机上。

    例如:

    asadmin deploy --user admin --passwordfile pw.txt --retrieve /my_dir myapp

  9. 按下述命令运行应用程序客户机:

    appclient -client clientjar -name appname

接下来的操作

要测试故障转移,请停止群集中的一个实例,然后查看应用程序是否正常运行。在客户机应用程序中还可以有断点(或休眠)。

要测试负载平衡,请使用多个客户机并查看负载在所有端点上的分布情况。

Procedure为独立客户机设置 RMI-IIOP 负载平衡和故障转移

  1. 部署应用程序,同时使用 --retrieve 选项获取客户机 jar 文件。

    将该客户机 jar 文件保留在客户机上。

    例如:

    asadmin deploy --user admin --passwordfile pw.txt --retrieve /my_dir myapp

  2. 运行客户机 jar 文件和必需的 jar 文件,同时将端点和 InitialContext 指定为 -D 值。

    例如:

    java -Dcom.sun.appserv.iiop.endpoints=
    host1.sun.com:33700,host2.sun.com:33700,host3.sun.com:33700 
    samples.rmiiiopclient.client.Standalone_Client
接下来的操作

要测试故障转移,请停止群集中的一个实例,然后确认应用程序是否正常运行。在客户机应用程序中还可以有断点(或休眠)。

要测试负载平衡,请使用多个客户机并查看负载在所有端点上的分布情况。