9章データの所有権と分散トランザクション

12月10日(金)9時12分

データベースチームがモノリシックなSysops Squadデータベースの分解に取り組んでいる間、Sysops Squad開発チームはアーキテクトのアディソンと共に、サービスとデータ間の境界づけられたコンテキストを形成する作業を始め、その過程でテーブルの所有権をサービスに割り当てていた。

「なぜexpert_profileテーブル(エキスパートのプロフィール情報)をチケット割り当てサービスの境界づけられたコンテキストに追加したのですか?」アディソンは尋ねた。

「どうしてかというと」シドニーは言った。「チケット割り当てサービスは、割り当てアルゴリズムをexpert_profileテーブルに頼っているからです。エキスパートの位置情報とスキル情報を得るために、常にexpert_profileテーブルに問い合わせる必要があるんです」

「でも、expert_profileテーブルへは問い合わせしかしていませんよね」アディソンは言った。「ユーザー管理サービスには、その情報を操作するためにデータベースの更新を行う機能が含まれています。したがって、expert_profileテーブルはユーザー管理サービスが所有して、その境界づけられたコンテキスト内に置かれるべきだと思います」

「私はそうは思いません」シドニーは言った。「割り当てサービスが、必要なクエリのたびにユーザー管理サービスにリモート呼び出しを行うのは現実的ではないです」 ...

Get ソフトウェアアーキテクチャ・ハードパーツ ―分散アーキテクチャのためのトレードオフ分析 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.