第13章. イベント駆動型マイクロサービスとリクエスト/レスポンス型マイクロサービスを統合する
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
イベント駆動型のマイクロサービスパターンは強力だが、組織のすべてのビジネスニーズに応えることはできない。リクエスト/レスポンスエンドポイントは、特に重要なデータをリアルタイムで提供する手段を提供する:
-
ユーザの携帯電話上のアプリケーションやモノのインターネット(IoT)デバイスなど、外部ソースからメトリックを収集する。
-
既存のリクエスト/レスポンス・アプリケーション、特に社外のサードパーティ製アプリケーションと統合する。
-
ウェブやモバイルデバイスのユーザにリアルタイムでコンテンツを提供する。
-
場所、時間、天候などのリアルタイム情報に基づいたダイナミックなリクエストに対応する。
このドメインでは、イベント駆動パターンが依然として大きな役割を果たしており、リクエスト/レスポンス・ソリューションと統合することで、両者の長所を活かすことができる。
注
この章では、リクエスト/レスポンス・サービスという用語は、通常同期APIを介して、互いに直接通信するサービスを指す。HTTPを介して通信する2つのサービスは、リクエスト/レスポンス通信の典型的な例である。
外部イベントを処理する
歴史、先例、親しみやすさ、利便性、その他多くの理由により、外部イベントはリクエスト/レスポンスAPIを介して外部から送信されるのが主流である。イベントブローカーとそのストリームを外部クライアントに公開することは可能だが、アクセスやセキュリティに関連する多くの問題を解決する必要があるため、そうすることはほとんど不合理である。それはそれで構わない。リクエスト/レスポンスAPIは、何十年も前からそうであったように、このようなシナリオで素晴らしい働きをする。考慮すべき外部生成イベントには、主に2つのタイプがある。
自動生成イベント
最初のタイプのイベントは、製品が自律的にクライアントからサーバに送信するものである。これらのリクエストは通常、ユーザが何をしているかについての情報、アクティビティの定期的な測定、ある種のセンサ読み取りなど、製品からのメトリックまたは測定として定義される。分析イベントと総称されるこれらは、製品の演算子に関する測定値や事実を記述する("例: イベント定義のオーバーロード "は、このようなイベントの動作を示している)。顧客の携帯電話にインストールされたアプリケーションは、外部イベントソースの良い例である。Netflixのようなメディア・ストリーミング・サービスを考えてみよう。そこでは、分析イベントが独立して送り返され、あなたがどの映画を開始し、どれだけ見たかなどを測定することができる。外部製品から発信されたアクションに基づく外部製品からのリクエストは、外部生成イベントとしてカウントされる。
今、あなたは、例えば、現在の映画の次の60秒をロードする要求が、外部生成イベントとしてカウントされるかどうか疑問に思うかもしれない。もちろんそうだ。しかし、真に問うべきは、「これらのイベントは、追加処理のために独自のイベント・ストリームに入る必要があるほど、ビジネスにとって重要なのか」ということだ。多くの場合、答えは「ノー」であり、それらのイベントをイベント・ストリームに集めて保存することはないだろう。しかし、答えが「イエス」であるケースでは、単にリクエストをイベントに解析し、独自のイベントストリームにルーティングすることができる。 ...
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