ScalarDB Cluster .NET Client SDK の2フェーズコミットインターフェイスを使用した分散トランザクションをはじめよう
このページは英語版のページが機械翻訳されたものです。英語版との間に矛盾または不一致がある場合は、英語版を正としてください。
ScalarDB Cluster .NET Client SDK は、ScalarDB の2フェーズコミットインターフェイスを使用したトランザクションをサポートします。SDK には、クラスター内の通信を強化するためのトランザクションとマネージャーの抽象化が含まれています。
次の例のように非同期メソッドを使用することをお勧めしますが、代わりに同期メソッドを使用することもできます。
2フェーズコミットインターフェースを使用したトランザクションについて
SDK を使用すると、複数のアプリケーションにまたがる2フェーズコミットインターフェースを使用したトランザクションを実行できます。たとえば、複数のマイクロサービスがある場合、それぞれのマイクロサービスにトランザクションマネージャーを作成し、それらのマイクロサービスにまたがるトランザクションを実行できます。
2フェーズコミットインターフェースを使用したトランザクションには、コーディネーターと参加者の2つのロールがあり、これらが協力して1つのトランザクションを実行します。
コーディネータープロセスは最初にトランザクションを開始し、トランザクションの ID をすべての参加者に送信し、参加者プロセスがトランザクションに参加します。 CRUD または SQL 操作を実行した後、コーディネータープロセスと参加者プロセスは2フェーズインターフェースを使用してトランザクションをコミットします。
SDK をインストールする
ScalarDB Cluster と同じメジャーバージョンとマイナーバージョンの SDK を .NET プロジェクトにインストールします。組み込みの NuGet パッケージマネージャーを使用してこれを行うことができます。<MAJOR>.<MINOR> を、使用しているバージョンに置き換えます。
dotnet add package ScalarDB.Client --version '<MAJOR>.<MINOR>.*'
設定ファイルを作成する
scalardb-options.json ファイルを作成し、次の内容を追加します。<HOSTNAME_OR_IP_ADDRESS> を FQDN または IP アドレスに、<PORT> をクラスターのポート番号 (デフォルトでは 60053) に置き換えます。
{
"ScalarDbOptions": {
"Address": "http://<HOSTNAME_OR_IP_ADDRESS>:<PORT>",
"HopLimit": 10
}
}
設定ファイルやクライアントを設定するその他の方法の詳細については、クライアント設定を参照してください。