ACEクラウドソリューションの計画と構成MEDIUM単一選択

マイクロサービスアーキテクチャで各サービスが Cloud SQL インスタンスを別々に持っています。データベース間でトランザクションをまたいだ整合性が必要になりました。コード変更を最小限にした解決策として最も適切なものはどれですか?

  1. A. Saga パターンを実装してサービス間の整合性を管理する
  2. B. 各サービスの Cloud SQL を同一 VPC に配置してデータベースリンクを設定する
  3. C. すべてのサービスで 1 つの共有 Cloud SQL インスタンスを使用する
  4. D. Cloud Spanner に移行してグローバルトランザクションを使用する
解答と解説を見る

正解: D

Cloud Spanner は複数のデータベースをまたいだ分散トランザクションをネイティブにサポートしており、強整合性(外部整合性)を保証します。Cloud SQL から Cloud Spanner への移行はスキーマの変更は必要ですが、アプリのビジネスロジック(トランザクション処理コード)の大幅な変更なしに整合性を確保できます。共有 Cloud SQL インスタンスへの集約はスケーラビリティを損ない、マイクロサービスの独立性を破壊します。Saga パターンは補償トランザクションでの最終的整合性を実現しますが、実装が複雑でコードの大幅変更が必要です。Cloud SQL にはデータベースリンク機能がなく、クロスインスタンストランザクションはサポートしていません。

▸ この試験を本気で演習する(全150問・無料)