第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 インスタンスに問い合わせる。
手順
Red Hat カスタマーポータルの Software Downloads ページに移動し (ログインが必要)、ドロップダウンオプションから製品およびバージョンを選択します。
- PRODUCT: Process Automation Manager
- バージョン: 7.13.5
- Red Hat Process Automation Manager 7.13.5 Add Ons をダウンロードします。
-
ダウンロードした
rhpam-7.13.5-add-ons.zipファイルを一時ディレクトリーに展開します。rhpam-7.13.5-smart-router.jarファイルは展開したrhpam-7.13.5-add-onsディレクトリーにあります。 -
ファイルを実行する場所に
rhpam-7.13.5-smart-router.jarファイルをコピーします。 以下のコマンドを入力して、Smart Router を起動します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 上のコマンドのプロパティーのデフォルト値は、以下のようになります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow org.kie.server.controllerは、以下のように、サーバーコントローラーの URL です。org.kie.server.controller=http://<HOST>:<PORT>/controller/rest/controller
org.kie.server.controller=http://<HOST>:<PORT>/controller/rest/controllerCopy to Clipboard Copied! Toggle word wrap Toggle overflow org.kie.server.router.config.watcher.enabledは、ウォッチャーサービスシステムプロパティーを有効にする任意の設定です。注記コマンドラインで設定プロパティーを指定する代わりに、設定ファイルを使用することができます。ファイルを使用した Smart Router の設定は、「設定ファイルを使用した Smart Router の設定」 を参照してください。
-
Smart Router に接続する必要のあるすべての KIE サーバーインスタンスでは、
org.kie.server.routerシステムプロパティーに Smart Router の URL を設定します。 クライアント側から Smart Router にアクセスするには、以下のように、KIE Server の URL の代わりに Smart Router の URL を使用します。
KieServicesConfiguration config = KieServicesFactory.newRestConfiguration("http://smartrouter.example.com:9000", "USERNAME", "PASSWORD");KieServicesConfiguration config = KieServicesFactory.newRestConfiguration("http://smartrouter.example.com:9000", "USERNAME", "PASSWORD");Copy to Clipboard Copied! Toggle word wrap Toggle overflow この例では、
smartrouter.example.comは Smart Router URL で、USERNAMEおよびPASSWORDは、Smart Router 設定のログイン認証情報です。データサンプルを投入できるように、マネージド外の 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/$ 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 Copied! Toggle word wrap Toggle overflow create-container.xmlファイルの内容を確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow Smart Router コンソールにデプロイされたメッセージが表示されます。以下に例を示します。
INFO: Added http://localhost:8180/kie-server/services/rest/server as server location for container example:timer-test:1.1
INFO: Added http://localhost:8180/kie-server/services/rest/server as server location for container example:timer-test:1.1Copy to Clipboard Copied! Toggle word wrap Toggle overflow コンテナーのリストを表示するには、次のコマンドを入力します。
curl http://localhost:9000/mgmt/list
$ curl http://localhost:9000/mgmt/listCopy to Clipboard Copied! Toggle word wrap Toggle overflow コンテナーのリストが表示されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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$ 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/instancesCopy to Clipboard Copied! Toggle word wrap Toggle overflow