7.2.2 Orchestrator
Orchestratorのパラメタを説明します。
- 〈この項の構成〉
(1) jp.co.Hitachi.soft.hmppctoのパラメタ
各パラメタの接頭辞は、jp.co.Hitachi.soft.hmppctoです。
|
パラメタ |
説明 |
型 |
設定範囲 |
デフォルト値 |
|---|---|---|---|---|
|
instance-id |
Orchestratorを一意に識別するためのIDです。 32文字以内の任意の文字列を設定してください。 同じMediatorに複数のOrchestratorから接続する場合は、Orchestratorごとに異なる値を設定してください。 |
String |
32文字 |
なし 必ず設定してください。 |
|
learner.consensus-type |
トランザクションの決着に使用する分散合意のアルゴリズムを設定します。 |
String |
Three-Quarters | Privileged-Value |
なし 必ず設定してください。 |
|
mediator.name |
MediatorのpodのDNS名中のStatefulSet名を設定してください。 MediatorのpodはStatefulSetのため、DNS名は次の形式です。この中のStatefulSet名を設定します。 <StatefulSet名>-<連番>.<Service名>.<ネームスペース名>.svc.cluster.local 例えばDNS名が 「mediator-0.mediator.space1.svc.cluster.local」の場合は、「mediator」を設定してください。 HMP-PCTOは、Kubernetesと連携してmediator.nameとmediator.name-suffixをキーにOrchestratorが接続するMediatorを決定します。 |
String |
− |
なし 必ず設定してください。 |
|
mediator.name-suffix |
MediatorのpodのDNS名中のサービス名以降の文字を指定してください。 MediatorのpodはStatefulSetのため、DNS名は次の形式です。この中のService名以降の文字列を設定します。 <StatefulSet名>-<連番>.<Service名>.<ネームスペース名>.svc.cluster.local 例えば、DNS名が「mediator-0.mediator.space1.svc.cluster.local」の場合は、「.mediator.space1.svc.cluster.local」を設定してください。 |
String |
− |
なし 必ず設定してください。 |
|
mediator.port |
MediatorのHMP-PCTOがgRPCを受信するポート番号を指定します。 Mediatorのパラメタgrpc.portに設定した値と同じ値を設定してください。 |
Integer |
1024-65535 |
20551 |
|
mediator.size |
トランザクションの合意に参加するMediator数を設定してください。 learner.consensus-typeにThree-Quartersを設定した場合は、5以上の値を設定してください。 |
Integer |
2-16 |
なし 必ず設定してください。 |
|
mediator.minimum-start-size |
Orchestratorでトランザクション開始時に、mediator.sizeで設定した数のMediatorの起動を確認できなかった場合に、トランザクションを開始する最小限のMediator数を設定してください。 mediator.sizeで設定した数以下の値を設定してください。mediator.sizeで設定した数より大きい値を設定した場合はOrchestratorの初期化時に異常終了します。 トランザクション開始時のMediatorの起動数がこのパラメタに設定した数未満の場合は、トランザクションの開始に失敗します。 learner.consensus-typeにThree-Quartersを設定した場合は、5以上の値を設定してください。 |
Integer |
2-16 |
mediator.size設定値 |
|
mediator.termination-thread-pool-size |
OrchestratorからMediatorへの送信に使用するスレッド数を指定してください。 1トランザクションの終了時にmediator.size指定値分のスレッドを使用して送信します。スレッドが不足した場合は、キューイングしてスレッドが空くのを待ってから送信します。 スレッドの空き待ちを回避するための理論上の必要なスレッド数は、サービスの同時実行数×mediator.sizeです。 設計指針とチューニング方法については、「3.7.1 スレッドプール」を参照してください。 |
Integer |
1-1000 |
20 |
|
mediator.discovery-retry-count |
Orchestrator起動時に、トランザクションの合意に必要なMediatorが起動しているかのチェックをリトライする回数を設定します。 Mediatorの起動が確認できるまで最大で、mediator.discovery-retry-count ×mediator.discovery-interval-in-millis(ミリ秒)待ち合わせます。 |
Integer |
0-100 |
18 |
|
mediator.discovery-interval-in-millis |
Orchestrator起動時に、トランザクションの合意に必要なMediatorが起動しているかのチェックをリトライする際のリトライ間隔をミリ秒単位で設定します。 |
Integer |
1-60000 |
10000 |
|
branch.qualifier.list |
APがEntity-Serviceを呼び出す際に、HMP-PCTOがトランザクションブランチを識別するために付与する識別子を設定してください。 次の形式で指定します。 <Entity-Serviceのホスト名>:<Entity-Serviceのポート番号><Entity-Serviceのサービスのエンドポイント>@識別子 識別子は、32文字以内で設定してください。 複数のEntity-Serviceを設定する場合は「,」で区切って設定してください。 設定例: host1:80/service1@qualifier1,host2:80/service2@qualifier2 |
String |
− |
なし 省略した場合、および指定しなかったURLの識別子はHMP-PCTOがUUIDを生成して設定します。 |
|
branch.qualifier.propagation-order |
HMP-PCTOとHMP-ADIFを連携して使用する場合のTxPropagationIscImperativePluginクラスのISCコマンドプラグイン実行順番を設定します。通常はデフォルト値を使用してください。ほかのISCコマンドプラグインクラスとの実行順番を変更したい場合に設定してください。 |
Integer |
1-2147483647 |
1 |
|
grpc.use-tls |
暗号化通信を行うかどうかを指定する。 true:暗号化通信を行う。 false:暗号化通信を行わない。 |
Boolean |
true | false |
false |
|
grpc.tls.client.server-auth.certificate |
接続先サーバのサーバ証明書を発行したCAの証明書(X.509のPEM形式)ファイルの絶対パス名を指定する。 |
String |
− |
なし 暗号化通信を行う場合は、必ず指定してください。 |
|
grpc.tls.client.client-auth.certificate |
クライアント認証を行う場合に、自プロセスのクライアント証明書ファイル(X.509のPEM形式)の絶対パス名を指定する。 |
String |
− |
なし 暗号化通信でクライアント認証を行う場合は、必ず指定してください。 |
|
grpc.tls.client.client-auth.key |
クライアント認証を行う場合に、自プロセスのクライアント証明書を作成した秘密鍵ファイル(pkcs8のPEM形式)の絶対パス名を指定する。 |
String |
− |
なし 暗号化通信でクライアント認証を行う場合は、必ず指定してください。 |
|
grpc.tls.session.cache-size |
SSLセッション情報のキャッシュ数を指定します。0を指定すると、gRPCのデフォルト値が使用されます。 |
Integer |
0-2147483647 |
0 |
|
grpc.tls.session.timeout |
キャッシュしたSSLセッション情報の保持時間(秒)を指定します。0を指定すると、gRPCのデフォルト値が使用されます。 |
Integer |
0-65535 |
0 |
|
grpc.keepalive. interval |
PING要求電文の送信間隔を秒単位で指定します。0を指定した場合は、PING要求電文を送信しません。1〜9を指定した場合は10秒となります。 ネットワーク機器の無通信監視タイマなどによるTCPコネクション切断回避が目的の場合は、無通信監視タイマ値より小さい値を指定してください。 |
Integer |
0-100000 |
0 |
|
grpc.keepalive.timeout |
PING応答電文の応答待ち時間を秒単位で指定します。 PING要求電文の送信後、このタイマの指定値以内にPING応答電文を受信できない場合はTCPコネクションを切断します。 |
Integer |
1-65535 |
60 |
|
grpc.watchtime |
Mediatorへの要求電文に対する応答電文の待ち時間を秒単位で指定します。0を指定した場合は、タイマ監視をせずに無限に応答を待ちます。 Orchestratorからトランザクションに参加したMediatorにcommit/rollbackの要求電文を送信して、すべての通信でこのタイマがタイムアウトした場合、Orchestratorは応答の待ち合わせを終了し、全Mediatorが障害と判断してトランザクションの決着結果は不明としてAPに応答します。そのため、応答電文の待ち時間はトランザクション制御には依存せず、APの業務処理として許容できる待ち時間となります。 |
Integer |
0-65535 |
100 |
|
lb.list-timeout-in-seconds |
Kubernetesからのサービス一覧取得の待ち時間を秒単位で指定します。タイマ指定値以内に応答を受信できない場合は、Orchestratorの起動処理を異常終了します。 |
Integer |
1-10800 |
60 |
(凡例)−:該当しません。