第 30 章 安装和配置智能路由器


智能路由器(KIE 服务器路由器)是一个轻量级 Java 组件,您可以用作多个 KIE 服务器、客户端应用程序和其他组件之间的集成层。根据您的部署和执行环境,智能路由器可以聚合多个独立的 KIE 服务器实例,就像它们是单一服务器一样。智能路由器提供以下功能:

数据聚合
当有客户端应用程序请求时,从所有 KIE 服务器实例(一个实例)收集数据,并汇总单个响应。
路由
作为一个单一端点,它接收从客户端应用程序到任何服务的调用,并将每个调用自动路由到运行特定服务的 KIE 服务器。这意味着 KIE 服务器不需要部署相同的服务。
负载平衡
提供有效的负载平衡。智能路由器集群的负载均衡请求必须使用标准负载平衡工具从外部管理。
身份验证
使用系统属性标志验证 KIE 服务器实例,并可启用 HTTPS 流量。
环境管理
管理更改环境,例如添加或删除服务器实例。

您可以使用智能路由器来聚合多个独立的 KIE 服务器实例,就像它们是一个单一服务器一样。它执行智能负载平衡器的角色,因为它可以将请求路由到单独的 KIE 服务器实例,并从不同的 KIE 服务器实例聚合数据。智能路由器使用别名作为代理执行。

先决条件

  • 安装了多个 KIE 服务器实例。

    注意

    您不需要将 KIE 服务器配置为智能路由器的非受管服务器。

    非受管 KIE 服务器不连接到控制器。例如,如果您将非受管 KIE 服务器连接到智能路由器,并将智能路由器注册到控制器,则 Business Central 通过使用智能路由器联系非受管 KIE 服务器。

流程

  1. 导航到红帽客户门户网站中的 Software Downloads 页面(需要登录),然后从下拉菜单中选择产品和版本:

    • 产品 :流程自动化管理器
    • Version: 7.11
  2. 下载 Red Hat Process Automation Manager 7.11.0 附加组件
  3. 将下载的 rhpam-7.11.0-add-ons.zip 文件提取到临时目录中。rhpam-7.11.0-smart-router.jar 文件位于提取的 rhpam-7.11.0-add-ons 目录中。
  4. rhpam-7.11.0-smart-router.jar 文件复制到您要运行该文件的位置。
  5. 输入以下命令启动智能路由器:

    java
    -Dorg.kie.server.router.host=<ROUTER_HOST>
    -Dorg.kie.server.router.port=<ROUTER_PORT>
    -Dorg.kie.server.controller=<CONTROLLER_URL>
    -Dorg.kie.server.controller.user=<CONTROLLER_USER>
    -Dorg.kie.server.controller.pwd=<CONTROLLER_PWD>
    -Dorg.kie.server.router.config.watcher.enabled=true
    -Dorg.kie.server.router.repo=<NFS_STORAGE>
    -jar rhpam-7.11.0-smart-router.jar
    Copy to Clipboard Toggle word wrap

    上一命令中的属性具有以下默认值:

    org.kie.server.router.host=localhost
    org.kie.server.router.port=9000
    org.kie.server.controller= N/A
    org.kie.server.controller.user=kieserver
    org.kie.server.controller.pwd=kieserver1!
    org.kie.server.router.repo= <CURRENT_WORKING_DIR>
    org.kie.server.router.config.watcher.enabled=false
    Copy to Clipboard Toggle word wrap

    org.kie.server.controller 是服务器控制器的 URL,例如:

    org.kie.server.controller=http://<HOST>:<PORT>/controller/rest/controller
    Copy to Clipboard Toggle word wrap

    org.kie.server.router.config.watcher.enabled 是一个可选设置,以启用 watcher 服务系统属性。

  6. 在必须连接到智能路由器的每个 KIE 服务器实例上,将 org.kie.server.router 系统属性设置为 Smart Router URL。
  7. 要从客户端访问智能路由器,请使用 Smart Router URL 而不是 KIE Server URL,例如:

    KieServicesConfiguration config = KieServicesFactory.newRestConfiguration("http://smartrouter.example.com:9000", "USERNAME", "PASSWORD");
    Copy to Clipboard Toggle word wrap

    在本例中,m router.example.com 是智能路由器 URL,USERNAMEPASSWORD 是智能路由器配置的凭据。

  8. 要在 umanaged KIE 服务器中创建新容器,以便您可以使用示例数据填充它,请发送以下 HTTP 请求:

    $ curl -v -X POST -H 'Content-type: application/xml' -H 'X-KIE-Content-Type: xstream' -d @create-container.xml -u ${KIE_CRED} http://${KIE-SERVER-HOST}:${KIE-SERVER-PORT}/kie-server/services/rest/server/config/
    Copy to Clipboard Toggle word wrap
  9. 查看 create-container.xml 文件的内容:

    <script>
      <create-container>
        <container container-id="example:timer-test:1.1">
          <release-id>
            <group-id>example</group-id>
            <artifact-id>timer-test</artifact-id>
            <version>1.1</version>
          </release-id>
          <config-items>
            <itemName>RuntimeStrategy</itemName>
            <itemValue>PER_PROCESS_INSTANCE</itemValue>
            <itemType></itemType>
          </config-items>
        </container>
      </create-container>
    </script>
    Copy to Clipboard Toggle word wrap

    智能路由器控制台中会显示有关已部署容器的消息。例如:

    INFO: Added http://localhost:8180/kie-server/services/rest/server as server location for container example:timer-test:1.1
    Copy to Clipboard Toggle word wrap
  10. 要显示容器列表,请输入以下命令:

    $ curl http://localhost:9000/mgmt/list
    Copy to Clipboard Toggle word wrap

    此时会显示容器列表:

    {
      "containerInfo": [{
        "alias": "timer-test",
        "containerId": "example:timer-test:1.1",
        "releaseId": "example:timer-test:1.1"
      }],
      "containers": [
        {"example:timer-test:1.1": ["http://localhost:8180/kie-server/services/rest/server"]},
        {"timer-test": ["http://localhost:8180/kie-server/services/rest/server"]}
      ],
      "servers": [
        {"kieserver2": []},
        {"kieserver1": ["http://localhost:8180/kie-server/services/rest/server"]}
      ]
    }
    Copy to Clipboard Toggle word wrap
  11. 要使用智能路由器 URL 启动进程,请输入以下命令:

    $ curl -s -X POST -H 'Content-type: application/json' -H 'X-KIE-Content-Type: json' -d '{"timerDuration":"9s"}' -u kieserver:kieserver1! http://localhost:9000/containers/example:timer-test:1.1/processes/timer-test.TimerProcess/instances
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat