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.