説明
クラウドネイティブとは何ですか?
クラウドネイティブテクノロジーは、コンテナー、マイクロサービス、サーバーレス機能、開発パイプライン、コードとして表現されたインフラストラクチャ、イベント駆動型アプリケーション、およびアプリケーションプログラミングインターフェイス(API)の使用を特徴としています。クラウドネイティブにより、ソフトウェア開発が高速化され、復元力があり、管理しやすく、監視可能で、グローバルなエンタープライズレベルに動的にスケーラブルなアプリケーションを構築できます。
クラウドネイティブアプリケーションを構築するときは、バックエンドサービスが相互に通信する方法に注意を払う必要があります。理想的には、サービス間の通信が少ないほど良いです。ただし、バックエンドサービスは操作を完了するために相互に依存することが多いため、回避が常に可能であるとは限りません。
マイクロサービス間の直接HTTP呼び出しの実装は比較的簡単ですが、この方法を最小限に抑えるように注意する必要があります。まず、これらの呼び出しは常に同期しており、結果が返されるか、リクエストがタイムアウトするまで操作をブロックします。かつては自己完結型の独立したサービスであり、独立して進化し、頻繁に展開できるものが、今では相互に結合されています。マイクロサービス間の結合が増えると、それらのアーキテクチャ上の利点は減少します。
一部のシステムでは、別のマイクロサービスへの単一の直接HTTP呼び出しを行う頻度の低いリクエストの実行が許容される場合があります。ただし、複数のマイクロサービスへの直接HTTP呼び出しを呼び出す大量の呼び出しはお勧めできません。これらは遅延を増加させ、システムのパフォーマンス、スケーラビリティ、および可用性に悪影響を与える可能性があります。さらに悪いことに、長い一連の直接HTTP通信は、図4-9に示すように、同期マイクロサービス呼び出しの深く複雑なチェーンにつながる可能性があります。

メッセージキューは、プロデューサーとコンシューマーがメッセージを渡すための中間構造です。
キューは、非同期のポイントツーポイントメッセージングパターンを実装します。
イベント
メッセージキューは、プロデューサーがコンシューマーにメッセージを非同期で送信できる通信を実装するための効果的な方法です。
参照:
https://www.xenonstack.com/blog/cloud-native-architecture/
https://www.oracle.com/sa/cloud/cloud-native/
https://www.oracle.com/technetwork/topics/entarch/cloud-native-app-development-wp-3664668.pdf