第Ⅱ部マルチノードパターン
これまでの章では、同じマシン上に割り当てられるコンテナの集まりをグループ化するパターンについて書いてきました。グループ内のコンテナは密結合で、共生的なシステムでした。また、ディスク、ネットワークインタフェイス、プロセス間通信といった、ローカルな共有リソースに依存していました。そういったコンテナの集まりも重要なパターンではありますが、大きなシステムを構成する要素の1つでもあります。信頼性、スケーラビリティ、関心の分離といったことを実現するには、実際のシステムが複数のマシンにまたがるさまざまなコンポーネントから構成されている必要があります。シングルノードパターンに比べるとマルチノードの分散パターンは、より疎結合になっています。パターンは、コンポーネント間のやり取りに影響するわけですが、このやり取り自体はネットワーク経由の呼び出しを基本として行われます。呼び出しの多くは並列に行われるので、システムは強い制約というよりはゆるい同期をベースに協調して動きます。
Ⅱ.1 マイクロサービス入門
今日においては、マイクロサービスという言葉はマルチノードの分散ソフトウェアアーキテクチャを指すバズワードになっています。マイクロサービスとは、別々のプロセスとして動作し、定義済みのAPIを通じて通信する多くのコンポーネントからなるシステムのことです。マイクロサービスは、サービスの全機能を1つの密結合なアプリケーションにまとめたモノリシックなシステムと対比した言葉です。これら2つのアーキテクチャ上のアプローチを図示したのが、図Ⅱ-1と図Ⅱ-2です。
図Ⅱ-1 すべての機能が1つのコンテナに入ったモノリシックなサービス
図Ⅱ-2 各機能が別のマイクロサービスに分けられたマイクロサービスアーキテクチャ ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access