4.2.4 データ・ストアのプロパティ
MicroTxはデータ・ストアを使用して、トランザクション状態の永続性を確保し、トランザクション・ログを格納します。
トランザクション・ログを格納するには、etcdクラスタ、Oracle Databaseまたは内部メモリーを使用できます。トランザクション・コーディネータの複数のレプリカを使用する場合、etcdクラスタまたはOracleデータベースをトランザクション・ログ・データ・ストアとして設定する必要があります。内部メモリーを使用する場合、トランザクション・コーディネータのレプリカを複数作成することはできません。MicroTxを再起動するたびにすべてのトランザクション詳細が失われるため、開発環境にのみ内部メモリーを使用します。
トランザクション・ログのデータ・ストアのタイプ
tmmConfiguration.storage
の下に、MicroTxがトランザクション状態の永続化に使用するデータ・ストアのタイプを指定します。データ・ストアのタイプを指定した後、外部データ・ストアに接続するための追加の詳細を指定できます。
プロパティ | 説明 |
---|---|
type |
次の値のいずれかを入力して、MicroTxがトランザクション情報の追跡に使用する永続データを指定します。
|
completedTransactionTTL |
完了トランザクション・レコードのトランザクション・データ・ストアでの存続時間(TTL)(秒単位)。指定できる値の範囲は60から1200秒です。指定した時間が終了すると、完了トランザクション・エントリはデータ・ストアから削除されます。 |
トランザクション・ログのデータ・ストアとしてのOracle Database
tmmConfiguration.storage.db
下に、Oracle Databaseに接続するための詳細を指定します。etcdデータベースに接続している場合、または内部メモリーを使用している場合は、この項をスキップして、これらの値を指定しないでください。
次の表に、MicroTxデータ・ストアであるOracle Databaseに接続するために必要なプロパティを示します。
プロパティ | 説明 |
---|---|
connectionString |
Oracle Databaseのデータ・ストアの接続文字列を入力します。
|
credentialSecretName |
Oracle Databaseに接続するための資格証明を含むKubernetesシークレットの名前を入力します。たとえば、db-secret です。「Oracle Database資格証明のKubernetesシークレットの作成」を参照してください。
|
connectionParams |
接続パラメータのスペース区切りリストを入力します。指定できる接続パラメータの詳細は、https://pkg.go.dev/github.com/godror/godror#section-documentationを参照してください。たとえば、poolMinSessions=1 poolMaxSessions=300 です。 |
walletConfigMap.configMapName |
このフィールドの値は、Autonomous Databaseなどの資格証明ウォレットを使用するデータベースに接続する場合にのみ指定します。他のデータベースの場合、このフィールドは空のままにできます。Autonomous Databaseインスタンスの資格証明ウォレット用に作成した構成マップの名前を入力します。「Autonomous Databaseクライアント資格証明の取得」を参照してください。たとえば、db-wallet-configmap です。
|
トランザクション・ログのデータ・ストアとしてのetcdデータベース
tmmConfiguration.storage.etcd
下に、etcdデータベースに接続する詳細を指定します。Oracleデータベースに接続している場合、または内部メモリーを使用している場合は、この項をスキップして、これらの値を指定しないでください。
次の表に、MicroTxデータ・ストアであるetcdデータベースに接続するために必要なプロパティを示します。
この情報を入力する前に、次のタスクを完了し、必要な詳細を書き留めておいてください。
プロパティ | 説明 |
---|---|
endpoints |
etcdデータベース・サーバーの外部IPアドレスを入力します。MicroTxをインストールするKubernetesクラスタにetcdクラスタをインストールした場合は、Kubernetesサービス名およびetcdクラスタ(ノード)のポートを値として指定します。それ以外の場合は、198.51.100.1:4002,198.51.100.2:4002,198.51.100.3:4002 のように、etcdクラスタ・ノードのホスト名またはIPアドレスとポートのカンマ区切りリストを入力します。
|
skipHostNameVerification |
etcdデータベース・サーバーのIPアドレスを確認するには、これをfalse に設定します。これをtrue に設定すると、サーバーのホスト名またはIPアドレスは検証されません。このフィールドをtrue に設定できるのは、テスト環境または開発環境の場合のみです。
注意: 本番環境では、このフィールドをfalse に設定する必要があります。
|
credentialSecret.secretName |
コンテナ内のKubernetesシークレットへのパスを入力します。シークレットには、クライアント資格証明、クライアント・キーおよびクライアント証明書の保護に使用したパスワードが含まれます。たとえば、/etc/otmm/etcd-cert-secret です。「etcdのKubernetesシークレットの作成」を参照してください。
|
credentialSecret.secretFileName |
クライアント資格証明、クライアント・キーおよびクライアント証明書の保護に使用したパスワードを含むJSONファイルの場所を入力します。たとえば、/etc/otmm/etcdecred.json です。「etcdのRSA証明書の生成」を参照してください。
|
cacertConfigMap.configMapName |
認証局の初期化中に作成した構成マップ・ファイルの名前を入力します。たとえば、etcd-ca-cert-map です。「etcdのKubernetesシークレットの作成」を参照してください。
|
cacertConfigMap.configMapFileName |
認証局の初期化中に作成したPEMファイルの名前を入力します。たとえば、ca.pem です。「etcdのRSA証明書の生成」を参照してください。
|
storage:
type: etcd
etcd:
endpoints: "https://198.51.100.1:4002"
skipHostNameVerification: "false"
credentialSecret:
secretName: "etcd-cert-secret"
secretFileName: "etcdecred.json"
cacertConfigMap:
configMapName: "etcd-ca-cert-map"
configMapFileName: "ca.pem"
endpoints
フィールドに正しいIPアドレスを指定しない場合、MicroTxのインストール時にホスト検証が失敗します。
親トピック: values.yamlファイルの構成