第1章. なぜイベント駆動マイクロサービスなのか?
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
媒体がメッセージなのだ。
マーシャル・マクルーハン
マクルーハンは、人類に影響を与え、社会に根本的な変化をもたらすのは、メディアの内容ではなく、むしろメディアとの関わりであると主張している。新聞、ラジオ、テレビ、インターネット、インスタント・メッセージ、ソーシャルメディアはすべて、私たちの集団的な関わりによって、人間の相互作用や社会構造を変えてきた。
コンピュータのシステムアーキテクチャも同様だ。ネットワーク通信、リレーショナルデータベース、ビッグデータ開発、クラウド・コンピューティングが、アーキテクチャの構築方法や仕事の進め方を大きく変えたことは、コンピューティング発明の歴史を見ればわかる。これらの発明はそれぞれ、さまざまなソフトウェア・プロジェクトにおけるテクノロジーの使われ方だけでなく、組織やチーム、人々が互いにコミュニケーションをとる方法も変えた。中央集権型のメインフレームから分散型のモバイルアプリケーションまで、それぞれの新しいメディアは、人々とコンピューティングの関係を根本的に変えた。
非同期に生成・消費されるイベントのメディアは、現代のテクノロジーによって根本的に変化した。これらのイベントは、現在では非常に大規模で無期限に持続させることができ、必要なときに何度でも任意のサービスで消費することができる。 コンピューティングリソースはオンデマンドで簡単に取得・解放でき、マイクロサービスを簡単に作成・管理できる。マイクロサービスは、それぞれのニーズに応じてデータをストア・管理することができ、以前はバッチベースのビッグデータ・ソリューションに限られていたスケールでそれを行うことができる。地味でシンプルなイベント・ドリブン・メディアに対するこれらの改良は、コンピュータ・アーキテクチャを変えるだけでなく、チーム、人、組織がシステムやビジネスを作成する方法を完全に作り変えるような、広範囲に及ぶ影響を及ぼしている。
イベント駆動マイクロサービスとは何か?
マイクロサービスやマイクロサービススタイルのアーキテクチャは、長年にわたり、さまざまな名前で、さまざまな形で存在してきた。サービス指向アーキテクチャ(SOA)では、複数のマイクロサービスが同期的に直接通信することで構成されることが多い。メッセージ・パッシング・アーキテクチャは、消費可能なイベントを使用して非同期通信を行う。イベントベースの通信は確かに新しくないが、大規模でリアルタイムなビッグデータセットを扱う必要性は新しく、古いアーキテクチャスタイルからの変更が必要である。
最新のイベント駆動マイクロサービスアーキテクチャでは、システムはイベントの発行と消費によって通信を行う。これらのイベントは、メッセージパッシングシステムのように消費された時点で破棄されるのではなく、他のコンシューマが必要に応じて読み取ることができるように、すぐに利用可能な状態に保たれる。これは重要な違いであり、本書で扱う真に強力なパターンを可能にする。
サービスそのものは小規模で、組織の必要なビジネス目標を達成するために作成されたものである。小規模」の典型的な定義は、書くのに2週間もかからないものである。別の定義では、サービスは(概念的には)自分の頭の中に収まるものでなければならない。これらのサービスは、入力イベントストリームからイベントを消費し、特定のビジネスロジックを適用し、独自の出力イベントを発行したり、リクエスト/レスポンスアクセス用にデータを提供したり、サードパーティAPIと通信したり、その他の必要なアクションを実行したりする。本書で詳述するように、これらのサービスはステートフルでもステートレスでもよく、複雑でも単純でもよい。また、長時間動作するスタンドアロンアプリケーションとして実装されることもあれば、Functions-as-a-Serviceを使用して関数として実行されることもある。 ...
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