搜索

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

download PDF

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

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

30.1. 使用智能路由器负载平衡 KIE 服务器实例

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

先决条件

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

    注意

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

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

流程

  1. 进入红帽客户门户网站中的 Software Downloads 页面(需要登录),然后从下拉列表中选择产品和版本:

    • PRODUCT: 流程自动化管理器
    • Version: 7.13.5
  2. 下载 Red Hat Process Automation Manager 7.13.5 附加组件
  3. 将下载的 rhpam-7.13.5-add-ons.zip 文件提取到临时目录中。rhpam-7.13.5-smart-router.jar 文件位于提取的 rhpam-7.13.5-add-ons 目录中。
  4. rhpam-7.13.5-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.13.5-smart-router.jar

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

    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

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

    org.kie.server.controller=http://<HOST>:<PORT>/controller/rest/controller

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

    注意

    您可以使用配置文件,而不必在命令行中指定配置属性。有关使用文件配置智能路由器的详情,请参考 第 30.5 节 “使用配置文件配置智能路由器设置”

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

    KieServicesConfiguration config = KieServicesFactory.newRestConfiguration("http://smartrouter.example.com:9000", "USERNAME", "PASSWORD");

    在本例中,smartrouter.example.com 是 Smart Router 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/
  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>

    在 Smart Router 控制台中会显示有关部署容器的消息。例如:

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

    $ curl http://localhost:9000/mgmt/list

    此时会显示容器列表:

    {
      "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"]}
      ]
    }
  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
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.