LINQ を使用して共有 ScalarDB Cluster 環境でマイクロサービストランザクションをサポートするアプリケーションを作成する
このページは英語版のページが機械翻訳されたものです。英語版との間に矛盾または不一致がある場合は、英語版を正としてください。
このチュートリアルでは、マイクロサービストランザクションをサポートし、ScalarDB Cluster .NET Client SDK と LINQ の共有クラスターパターンに従うサンプル電子商取引アプリケーションの作成方法について説明します。
共有クラスターパターンの詳細については、マイクロサービスにおける ScalarDB Cluster のデプロイパターンを参照してください。
このセクションでは、ScalarDB Cluster .NET Client SDK と LINQ を使用して、共有ク ラスターパターンに従うサンプル電子商取引アプリケーションの作成方法について説明します。
サンプルマイクロサービスアプリケーションの概要
このサンプル電子商取引アプリケーションは、ユーザーがクレジットラインを使用して商品を注文し、支払いを行う方法を示しています。
このサンプルアプリケーションには、database-per-service パターンに基づいて、 Customer Service と Order Service という2つのマイクロサービスがあります:
- Customer Service は、クレジットライン情報、クレジット限度額、クレジット合計を含む顧客情報を管理します。
- Order Service は、注文の配置や注文履歴の取得などの注文操作を担当します。
各サービスには gRPC エンドポイントがあります。クライアントはエンドポイントを呼び出し、サービスも各エンドポイントを呼び出します。
サンプルアプリケーションで使用するデータベースは、Cassandra と MySQL です。Customer Service と Order Service は、それぞれ ScalarDB Cluster を通じて Cassandra と MySQL を使用します。

図に示すように、ScalarDB Cluster には、Consensus Commit プロトコルに使用される小さな Coordinator データベースがあります。このデータベースはサービスに依存せず、Consensus Commit のトランザクションメタデータを可用性の高い方法で管理するために存在します。
サンプルアプリケーションでは、セットアップと説明を簡単にするために、Coordinator データベースを Order Service の Cassandra インスタンスと同じ場所に配置しています。または、Coordinator データベースを別のデータベースとして管理することもできます。
サンプルアプリケーションの焦点は ScalarDB Cluster の使用方法を実演することなので、アプリケーション固有のエラーハンドリング、認証処理、および同様の機能はサンプルアプリケーションには含まれていません。