24.10.3. 配置 NSAPI Connector to Balance Client Requests Across 多 JBoss EAP 服务器

此任务配置 NSAPI 连接器,以将客户端请求发送到负载平衡配置中的 JBoss EAP 服务器。

配置用于负载平衡的连接器
  1. 定义重定向到 JBoss EAP 服务器的 URL 路径。

    注意

    IPLANET_CONFIG/obj.conf 中,行首不允许有空格,除非该行是上一行的延续。

    编辑 IPLANET_CONFIG/obj.conf 文件。找到以 <Object name="default"> 开头的部分,并添加要匹配的每个 URL 模式,其格式为以下示例文件所示。string jknsapi 指的是要在下一步中定义的 HTTP 连接器。示例演示了使用通配符进行模式匹配。

    <Object name="default">
    [...]
    NameTrans fn="assign-name" from="/status" name="jknsapi"
    NameTrans fn="assign-name" from="/images(|/*)" name="jknsapi"
    NameTrans fn="assign-name" from="/css(|/*)" name="jknsapi"
    NameTrans fn="assign-name" from="/nc(|/*)" name="jknsapi"
    NameTrans fn="assign-name" from="/jmx-console(|/*)" name="jknsapi"
    NameTrans fn="assign-name" from="/jkmanager/*" name="jknsapi"
    </Object>
  2. 定义提供每个路径的 worker。

    继续编辑 IPLANET_CONFIG/obj.conf 文件。直接在上一步中修改的部分结束标签后 </Object>,添加以下新部分,并根据您的需要进行修改:

    <Object name="jknsapi">
    ObjectType fn=force-type type=text/plain
    Service fn="jk_service" worker="status" path="/jkmanager(/*)"
    Service fn="jk_service" worker="router"
    </Object>

    This jksnapi 对象定义 worker 节点,用于提供映射到 默认 对象中 name="jksnapi" 映射的每个路径。与 /jkmanager/* 匹配的 URL 之外的所有内容都重定向到名为 router 的 worker。

  3. 定义 worker 及其属性。

    IPLANET_CONFIG/connector/ 中创建一个名为 workers.properties 的文件。将以下内容粘贴到 文件中,并进行修改以适合您的环境。

    # The advanced router LB worker
    # A list of each worker
    worker.list=router,status
    
    # First JBoss EAP server
    # (worker node) definition.
    # Port 8009 is the standard port for AJP
    #
    
    worker.worker01.port=8009
    worker.worker01.host=127.0.0.1
    worker.worker01.type=ajp13
    worker.worker01.ping_mode=A
    worker.worker01.socket_timeout=10
    worker.worker01.lbfactor=3
    
    # Second JBoss EAP server
    worker.worker02.port=8009
    worker.worker02.host=127.0.0.100
    worker.worker02.type=ajp13
    worker.worker02.ping_mode=A
    worker.worker02.socket_timeout=10
    worker.worker02.lbfactor=1
    
    # Define the load-balancer called "router"
    worker.router.type=lb
    worker.router.balance_workers=worker01,worker02
    
    # Define the status worker
    worker.status.type=status

    Worker .properties 文件的语法与 Apache mod_jk 相同。

    保存并退出文件。

  4. 重新启动 iPlanet Web 服务器 7.0。

    IPLANET_CONFIG/../bin/stopserv
    IPLANET_CONFIG/../bin/startserv

iPlanet Web 服务器将在负载平衡配置中将您配置的 URL 模式重定向到 JBoss EAP 服务器。