第2章. イベント駆動マイクロサービスの基礎
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
イベント駆動型マイクロサービスは、特定の境界づけられたコンテキストを満たすために構築された小さなアプリケーションである。コンシューマのマイクロサービスは、1つ以上の入力イベントストリームからイベントを消費し処理する。一方、プロデューサのマイクロサービスは、他のサービスが消費するイベントをイベントストリームに生成する。イベント駆動型のマイクロサービスは、1セットの入力イベントストリームのコンシューマであり、別のセットの出力イベントストリームのプロデューサであるのが一般的である。これらのサービスは、ステートレス(第5章参照)またはステートフル(第7章参照) であり、また、同期リクエスト/レスポンスAPI(第13章参照)を含むかもしれない。これらのサービスはすべて、イベントブローカーからイベントをコンシューマする、 あるいはイベントブローカーにイベントをプロデューサするという、共通の機 能を共有する。イベント駆動マイクロサービス間の通信は完全に非同期である。
イベントストリームはイベントブローカーによって提供されるが、これについてはこの章の後半で詳しく説明する。マイクロサービスを意味のある規模で実行するには、デプロイパイプラインとコンテナ管理システムを使用する必要がある。
トポロジーを構築する
イベント駆動型マイクロサービスの議論では、トポロジーという用語が頻繁に登場する。この用語は、しばしば個々のマイクロサービスの処理ロジックを意味するのに使われる。また、個々のマイクロサービス、イベントストリーム、リクエスト/レスポンスAPI間のグラフのような関係を指す場合もある。それぞれの定義を順番に見ていこう。
マイクロサービス・トポロジー
マイクロサービストポロジーは、単一のマイクロサービス内部のイベント駆動型トポロジーである。これは、変換、保存、放出など、入力イベントに対して実行されるデータ駆動型演算子を定義する。
図2-1は、2つの入力イベントストリームを取り込む単一のマイクロサービスのトポロジーを示している。
図2-1. シンプルなマイクロサービスのトポロジー
マイクロサービストポロジーは、イベントストリームAからイベントを取り込み、データストアにマテリアライズする。具体化の演算子については、この章の後半で詳しく説明する。一方、イベント・ストリームBが取り込まれ、特定のイベントがフィルタリングされ、変換され、格納された状態と結合される。結果は新しいイベントストリームに出力される。マイクロサービスの取り込み、処理、出力は、そのトポロジーの一部である。
ビジネス・トポロジー
ビジネストポロジーは、複雑なビジネス機能を満たすマイクロサービス、イベントストリーム、APIのセットである。これはサービスの任意のグループ化であり、単一のチームや部門が所有するサービス、または複雑なビジネス機能のスーパーセットを満たすサービスを表すことができる。第1章で詳述したビジネスコミュニケーション構造がビジネストポロジーを構成する。マイクロサービスはビジネスの境界づけられたコンテキストを実装し、イベントストリームはクロスコンテキストドメインデータを共有するためのデータ通信メカニズムを提供する。 ...
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