D.2 トランザクション・コーディネータの環境変数
MicroTxトランザクション・コーディネータを構成するには、次の環境変数に値を指定します。MicroTxをデプロイするには、これらの詳細が必要です。
プロパティ | 説明 |
---|---|
TMM_APPNAME |
MicroTxのインストール時に作成するMicroTxアプリケーションの名前を入力します。後で指定する必要があるため、この名前を書き留めておきます。たとえば、tmm-app です。
|
PORT |
このサービスをインストールするKubernetesクラスタ内のMicroTxに内部的にアクセスするポートを入力します。このポートでインバウンドおよびアウトバウンド・トラフィックを許可するために必要なネットワーク・ルールを作成します。後で指定する必要があるため、この番号を書き留めておきます。たとえば、9000 です。
|
ID |
インストールするMicroTxの各インスタンスを一意に識別する値を入力します。この一意識別子は5文字で指定する必要があり、使用できるのは英数字(a-z、A-Zおよび0-9)のみです。たとえば、 このIDを使用して、複数のインストールがある場合にMicroTxを識別します。すべてのレプリカが同じIDを持つため、このIDを使用して、MicroTxインストールの単一インスタンスのレプリカを区別することはできません。MicroTxをインストールした後は、この値を変更できません。 |
APPLICATION_NAMESPACE |
MicroTxをデプロイするネームスペースを指定します。 |
LISTEN_ADDR |
MicroTxにアクセスするポートを入力します。このポートでインバウンドおよびアウトバウンド・トラフィックを許可するために必要なネットワーク・ルールを作成します。後で指定する必要があるため、この番号を書き留めておきます。たとえば、0.0.0.0:9000 です。この例に示すように、リスナー・アドレスを<IP_address>:<port> の形式で指定します。
|
INTERNAL_ADDR |
サービスをインストールする環境内からMicroTxにアクセスするための内部URLを入力します。「Docker SwarmでのMicroTxへのアクセス」を参照してください。 |
EXTERNAL_ADDR |
サービスをインストールする環境の外部からMicroTxにアクセスするための外部URLを入力します。「Docker SwarmでのMicroTxへのアクセス」を参照してください。 |
HTTP_CLIENT_TIMEOUT_IN_SECS |
MicroTxコーディネータから参加側サービスに送信されるHTTPコールバックAPIリクエストをアクティブにしておく最長期間(秒)を指定します。0から900までの整数を入力してください。デフォルト値は180秒、最大値は900秒です。この値を0に設定すると、MicroTxによって制限が適用されません。コーディネータがHTTPコールバックAPIリクエストを参加側サービスに送信したとき、参加側サービスは指定の期間内に応答する必要があります。指定した期間内に参加側サービスが応答しないと、コーディネータによって送信されたHTTPリクエストはタイムアウトします。 |
XA_COORDINATOR_ENABLED |
マイクロサービスがXAトランザクション・プロトコルを使用する場合は、true に設定します。Sagaトランザクション内にXAトランザクションをネストする場合は、XA_COORDINATOR_ENABLED とLRA_COORDINATOR_ENABLED の両方をtrue に設定します。
|
XA_COORDINATOR_TX_MAX_TIMEOUT |
XAトランザクション・プロトコルのみ。トランザクションをアクティブにしておく最長期間(ミリ秒)を指定します。トランザクションのコミットまたはロールバックが指定した期間内に行われないと、トランザクションはロールバックされます。デフォルト値は600000 msです。 |
LRA_COORDINATOR_ENABLED |
マイクロサービスがSagaトランザクション・プロトコルを使用する場合は、true に設定します。Sagaトランザクション内にXAトランザクションをネストする場合は、XA_COORDINATOR_ENABLED とLRA_COORDINATOR_ENABLED の両方をtrue に設定します。
|
TCC_COORDINATOR_ENABLED |
マイクロサービスがTCCトランザクション・プロトコルを使用する場合は、true に設定します。
|
NARAYANA_LRA_COMPATIBILITY_MODE |
Sagaトランザクション・プロトコルのみ。Narayana LRAコーディネータと連携するように実装され、MicroTxを使用してSagaトランザクションに参加するSaga参加側アプリケーションを使用する場合は、このプロパティをtrue に設定します。このモードを有効にすると、MicroTx Saga APIがNarayana LRAコーディネータAPIが返すのと同じレスポンス・データを返すことが保証されます。
|
LOGGING_LEVEL |
次のいずれかのタイプを入力して、MicroTxのログ・レベルを指定します:
|
HTTP_TRACE_ENABLED |
デバッグ時にMicroTx内のすべてのHTTPリクエストおよびレスポンスをログに記録するには、これをTrue に設定します。これをTrue に設定する場合、LOGGING_LEVEL をdebug に設定する必要があります。
|
LOGGING_DEV_MODE |
これは、テスト環境でデバッグのために詳細情報を取得する場合のみ、True に設定します。本番環境では、これをFalse に設定する必要があります。
|
MAX_RETRY_COUNT |
障害が発生した場合にトランザクション・コーディネータが同じリクエストの送信を再試行する最大回数。デフォルト値は0です。 |
MIN_RETRY_INTERVAL |
障害が発生した後でトランザクション・コーディネータが同じリクエストの送信を再試行するまでの最小間隔(ミリ秒)。デフォルト値は0です。 |
MAX_RETRY_INTERVAL |
障害が発生した後でトランザクション・コーディネータが同じリクエストの送信を再試行するまでの最大再試行間隔(ミリ秒)。たとえば、10000です。デフォルト値は0です。 |
SKIP_VERIFY_INSECURE_TLS |
この値を この値を 注意: 本番環境では、この値をtrue に設定しないでください。
|
SERVE_TLS_ENABLED |
参加側サービスとMicroTxの間のセキュアな通信を保証するためにTLSを有効にするには、これをtrue に設定します。SERVE_TLS_CERT_FILE およびSERVE_TLS_KEY_FILE プロパティで、証明書およびキー・ファイルの詳細を指定する必要があります。TLSを有効にすると、HTTPSを介してトランザクション・コーディネータにアクセスできます。
HTTPSを介してMicroTxにセキュアにアクセスするために、自己署名付き証明書を作成し、証明書および秘密キーの場所を書き留めます。SSL証明書の作成の詳細は、『セキュリティ・ガイド』のOpenSSLを使用した自己署名証明書および秘密キーの生成ガイドラインを参照してください。 このフィールドを 注意: 本番環境では、これをtrue に設定する必要があります。
|
SERVE_TLS_CERT_FILE |
ローカル・マシン上のTLS証明書(PEM形式)のパス。 |
SERVE_TLS_KEY_FILE |
ローカル・マシン上の証明書に関連付けられている秘密キー・ファイル(PEM形式)のパス。 |
COMPLETED_TX_TTL |
完了トランザクション・レコードのトランザクション・データ・ストアでの存続時間(TTL)(秒単位)。指定できる値の範囲は60から1200秒です。指定した時間が終了すると、完了トランザクション・エントリはデータ・ストアから削除されます。デフォルト値は60秒です。 |
AUTHENTICATION_ENABLED |
JWT認証をバイパスするには、false に設定します。こうすると、JWTトークンのないリクエストが許可されます。すべてのリクエストにJWTトークンを含める場合は、true を入力します。MicroTxは、リクエストで指定されたトークンを検証し、トークンが無効な場合はアクセスを拒否します。enabled に設定する場合は、JWTのissuer パラメータおよびjwksUri パラメータに値を指定する必要があります。
注意: 本番環境では、このプロパティを |
AUTHORIZATION_ENABLED |
これをtrue に設定すると、MicroTxが受信JWTトークンのサブジェクトをチェックできるようになります。その後、MicroTxは、サブジェクトまたはユーザーにトランザクションIDをタグ付けします。トランザクションをさらに変更できるのは、タグ付けされたサブジェクトまたはユーザーのみになります。このフィールドをfalse に設定した場合、アイデンティティ・プロバイダの詳細を指定する必要はありません。
|
IDENTITY_PROVIDER_URL |
アイデンティティ・プロバイダのURLを指定します。この情報は、リフレッシュ・トークンを使用して新しいアクセス・トークンを作成するために必要です。この情報を指定しないと、期限切れになったアクセス・トークンが自動リフレッシュされません。 |
IDENTITY_PROVIDER_CLIENT_ID |
アイデンティティ・プロバイダのクライアントIDを指定します。この情報は、リフレッシュ・トークンを使用して新しいアクセス・トークンを作成するために必要です。この情報を指定しないと、期限切れになったアクセス・トークンが自動リフレッシュされません。 |
親トピック: 環境変数を使用したコーディネータの構成