B.7.2 トランザクション・ストアのプロパティ

MicroTxは、トランザクション状態の永続性を確保するためにトランザクション・ストアを使用します。

トランザクション情報の格納には、etcdクラスタ、Oracle Databaseまたは内部メモリーを使用できます。トランザクション・コーディネータの複数のレプリカを使用する場合、または本番環境では、etcdクラスタまたはOracleデータベースをトランザクション・ストアとして設定する必要があります。MicroTxを再起動するたびにすべてのトランザクション詳細が失われるため、開発環境にのみ内部メモリーを使用します。内部メモリーを使用する場合、トランザクション・コーディネータのレプリカを複数作成することはできません。

トランザクション・ストアのタイプ

tmmConfiguration.storage下に、MicroTxがトランザクション状態の永続化に使用するトランザクション・ストアのタイプを指定します。トランザクション・ストアのタイプを指定した後、外部トランザクション・ストアに接続するための追加の詳細を指定できます。

プロパティ 説明
type

次の値のいずれかを入力して、MicroTxがトランザクション情報の追跡に使用する永続データを指定します。

  • etcdをトランザクション・ストアとして使用する場合は、etcd。etcdトランザクション・ストアに接続するための詳細をstorage: etcd:フィールドに指定する必要があります。
  • Oracle Databaseをトランザクション・ストアとして使用する場合は、db。Oracleトランザクション・ストアに接続するための詳細をstorage: db:フィールドに指定する必要があります。
  • etcdまたはOracle Databaseに接続するための詳細の入力をスキップし、かわりに内部メモリーを使用する場合は、memory。内部メモリーを使用すると、MicroTxを再起動するたびに、すべてのトランザクションの詳細が失われます。内部メモリーをトランザクション・ストアとして使用し、トランザクション・コーディネータの複数のレプリカを使用する場合は、セッション・アフィニティを有効にする必要があります。

トランザクション・ストアとしてのOracle Database

tmmConfiguration.storage.db下に、Oracle Databaseに接続するための詳細を指定します。etcdデータベースに接続している場合、または内部メモリーを使用している場合は、この項をスキップして、これらの値を指定しないでください。

必要なDockerシークレットの作成の詳細は、「Oracle Database資格証明のDockerシークレットの作成」を参照してください。

プロパティ 説明
connectionString

Oracle Databaseのトランザクション・ストアへの接続文字列を入力します。

非自律型Oracle Database (資格証明ウォレットを使用しないデータベース)を使用している場合は、次の形式を使用して接続文字列を入力します:
<publicIP>:<portNumber>/<database unique name>.<host domain name>

たとえば、123.213.85.123:1521/CustDB_iad1vm.sub05031027070.customervcnwith.oraclevcn.comです。

Oracle Autonomous Databaseを使用している場合は、次の例のような接続文字列を入力します: jdbc:oracle:thin:@tcps://adb.us-phoenix-1.oraclecloud.com:7777/unique_connection_string_low.adb.oraclecloud.com&wallet_location=/app/Wallet

netServiceName Oracle Databaseに接続するための資格証明を含むDockerシークレットの名前を入力します。たとえば、db-secretです。

トランザクション・ストアとしてのetcdデータベース

tmmConfiguration.storage.etcd下に、etcdデータベースに接続する詳細を指定します。Oracleデータベースに接続している場合、または内部メモリーを使用している場合は、この項をスキップして、これらの値を指定しないでください。

プロパティ 説明
endpoints Docker SwarmサービスとしてetcdにアクセスするURLを入力します。たとえば、etcdとトランザクション・コーディネータがDocker Swarmの同じネットワークにある場合は、https://etcd:2379です。ここで、2379はetcdとの通信に使用されるポートです。etcdが別のネットワークに設定されている場合は、etcdのIPアドレスを指定します。
skipHostNameVerification etcdデータベース・サーバーのIPアドレスを確認するには、これをfalseに設定します。これをtrueに設定すると、サーバーのホスト名またはIPアドレスは検証されません。このフィールドをtrueに設定できるのは、テスト環境または開発環境の場合のみです。

注意:

本番環境では、このフィールドをfalseに設定する必要があります。
cacertFilePath 前に作成した証明書であるca.pemファイルへのパスを入力します。たとえば、/app/etcd/ca.pemです。
credentialsFilePath クライアント資格証明、クライアント・キーおよびクライアント証明書の保護に使用したパスワードを含むJSONファイルの場所を入力します。たとえば、/app/etcd/etcdecred.jsonです。