13章サービスベースアーキテクチャ

サービスベースアーキテクチャは、マイクロサービスアーキテクチャのハイブリッドであり、その柔軟性の高さから、最も実用的なアーキテクチャスタイルの1つと考えられている。サービスベースアーキテクチャは分散アーキテクチャだが、マイクロサービスやイベント駆動アーキテクチャなどの分散アーキテクチャのような複雑さやコストはなく、多くのビジネスアプリケーションにとても人気の選択肢となっている。

13.1 トポロジー

サービスベースアーキテクチャは、分散型のマクロなレイヤード構造をとり、個別にデプロイされたユーザーインターフェイス、個別にデプロイされた粒度の粗いリモートサービス、そしてモノリシックなデータベースから編成される。このアーキテクチャの基本的なトポロジーを図13-1に示す。

サービスベースアーキテクチャの基本トポロジー

図13-1 サービスベースアーキテクチャの基本トポロジー

このアーキテクチャスタイルにおけるサービスは、通常、独立して個別にデプロイされる粒度の粗い「アプリケーションの一部」(通常はドメインサービスと呼ばれる)だ。サービスは通常、モノリシックアプリケーションと同じ方法(EARファイル、WARファイル、アセンブリなど)でデプロイされ、コンテナ化を必要としない(ドメインサービスをDockerなどのコンテナにデプロイすること自体は可能だ)。通常、サービスは単一のモノリシックデータベースを共有しており、アプリケーションコンテキスト内のサービス数は一般的に4~12の間で、平均的なサービス数は7個程度だ。 ...

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.