第30章 Smart Router のインストールおよび設定


Smart Router (KIE Server ルーター) は、複数の KIE Server、クライアントアプリケーション、他のコンポーネント間の統合レイヤーとして使用可能な軽量の Java コンポーネントです。デプロイメントや実行環境に合わせて、Smart Router は複数の独立した KIE Server インスタンスを単一サーバーのように集約できます。Smart Router には以下の機能があります。

データ集約
クライアントアプリケーションの要求があると、全 KIE Server インスタンス (各グループからインスタンス 1 つ) からデータを収集し、結果を 1 つの応答にまとめます。
ルーティング
クライアントアプリケーションからサービスへの呼び出しを受信して、各呼び出しを自動的に個別サービスを実行する KIE Server にルーティングする単一のエンドポイントとして機能します。つまり、KIE Server に同じサービスをデプロイする必要はありません。
負荷分散
負荷分散を効率化します。Smart Router クラスターの負荷分散要求は、標準負荷分散ツールを使用して外部で管理する必要があります。
認証
システムプロパティーフラグを使用して KIE Server インスタンスを認証し、HTTPS トラフィックを有効にできます。
環境管理
環境の変更を管理します (例: サーバーインスタンスの追加または削除)

30.1. Smart Router による KIE サーバーインスタンスのロードバランシング

Smart Router は、複数の独立した KIE Server インスタンスを集約して 1 台のサーバーのように使用できます。Smart Router は、個々の KIE Server インスタンスに要求を送信し、複数の KIE Server インスタンスからデータを集約できるため、インテリジェントなロードバランサーのロールを果たします。エイリアスを介して、Smart Router は プロキシーとなります。

前提条件

  • 複数の KIE サーバーインスタンスがインストールされている。

    注記

    Smart Router を使用するには、KIE Server を管理対象外として設定する必要はない。

    管理されていない KIE サーバーインスタンスがコントローラーに接続されない。たとえば、管理対象外の KIE Server インスタンスを Smart Router に接続してコントローラーで Smart Router を登録する場合には、Business Central は Smart Router を使用して管理対象外の KIE Server インスタンスに問い合わせる。

手順

  1. Red Hat カスタマーポータルの Software Downloads ページに移動し (ログインが必要)、ドロップダウンオプションから製品およびバージョンを選択します。

    • Product: Process Automation Manager
    • Version: 7.12
  2. Red Hat Process Automation Manager 7.12.0 Add-Ons をダウンロードします。
  3. ダウンロードした rhpam-7.12.0-add-ons.zip ファイルを一時ディレクトリーに展開します。rhpam-7.12.0-smart-router.jar ファイルは展開した rhpam-7.12.0-add-ons ディレクトリーにあります。
  4. rhpam-7.12.0-smart-router.jar ファイルを、ファイルを実行するディレクトリーにコピーします。
  5. 以下のコマンドを入力して、Smart Router を起動します。

    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.12.0-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 は、ウォッチャーサービスシステムプロパティーを有効にする任意の設定です。

    注記

    コマンドラインで設定プロパティーを指定する代わりに、設定ファイルを使用することができます。ファイルを使用した Smart Router の設定は、「設定ファイルを使用した Smart Router の設定」 を参照してください。

  6. Smart Router に接続する必要のあるすべての KIE サーバーインスタンスでは、org.kie.server.router システムプロパティーに Smart Router の URL を設定します。
  7. クライアント側から Smart Router にアクセスするには、以下のように、KIE Server の URL の代わりに Smart Router の URL を使用します。

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

    この例では、smartrouter.example.com は Smart Router URL で、USERNAME および PASSWORD は、Smart Router 設定のログイン認証情報です。

  8. データサンプルを投入できるように、管理対象外の KIE Server に新しいコンテナーを作成するには、以下の 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. Smart Router の 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

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.