13章コントラクト

4月15日(金)12時1分

アディソンは、カフェテリアで昼食をとりながらシドニーと会い、チケットオーケストレーターとチケット管理ワークフロー向けのサービス群との間の連携について話をした。

「通信にはgRPCを使えばいいんじゃないですか? すごく速いらしいですよ」シドニーが言った。

「そうですが、それは実装の話であって、アーキテクチャの話ではありません」アディソンが言った。「どのような種類のコントラクトが必要かを決めてから、その実装方法を選ばなければいけません。まず、密なコントラクトか疎なコントラクトかを決める必要があります。種類を決めたら、我々の適応度関数に合格する限り、どのように実装するかはお任せします」

「必要なコントラクトの種類は何で決まるのですか?」シドニーが言った。

「2章 ソフトウェアアーキテクチャにおける結合の見分け方」では、通信、整合性、調整という3つの重要な力の交点と、それらのトレードオフをどのように見極めるかについて説明した(図13-1)。そして、「12章 トランザクショナルサーガ」では、この3つの力を再確認し、さまざまな通信スタイルとそのトレードオフについて説明した。

分散アーキテクチャに作用する力の3次元交差空間

図13-1 分散アーキテクチャに作用する力の3次元交差空間

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.