メッセージングのパターン

クラウド アプリケーションの分散特性には、スケーラビリティを最大化するために、コンポーネントとサービスが (できれば疎結合的に) 接続されているメッセージング インフラストラクチャが必要です。 非同期メッセージングは広く使用されており、多くの利点がもたらされますが、メッセージの順序、有害メッセージの管理、べき等など、課題も多数あります。

Pattern まとめ
非同期要求-応答 フロントエンド ホストからバックエンド処理を分離します。その場合バックエンド処理を非同期にする必要がありますが、引き続きフロントエンドには明確な応答が必要です。
要求チェック 大きいメッセージを要求チェックとペイロードに分割して、メッセージ バスに過度な負荷がかかることを防ぎます。
コレオグラフィ 中央の制御ポイントに依存するのではなく、システムの各コンポーネントが、ビジネス トランザクションのワークフローに関する意思決定プロセスに参加するようにします。
競合コンシューマー 複数の同時実行コンシューマーが、同じメッセージング チャネルで受信したメッセージを処理できるようにします。
パイプとフィルター 複雑な処理を実行するタスクを、再利用できる一連の独立した要素に分解します。
優先順位キュー サービスに送信される要求に優先順位を設定し、優先順位の高い要求から順番に受信および処理されるようにします。
パブリッシャーとサブスクライバー 送信側と受信側を結合せずに、アプリケーションから関心を持っている複数のコンシューマーに対して非同期的にイベントを通知できるようにします。
キュー ベースの負荷平準化 タスクとそのタスクが呼び出すサービスとの間でバッファーとして機能するキューを使用して、断続的な大きい負荷を平準化します。
Saga 分散トランザクションのシナリオで、マイクロサービス間のデータ整合性を管理します。 saga はトランザクションのシーケンスです。この saga によって各サービスが更新され、次のトランザクション ステップをトリガーするメッセージまたはイベントが発行されます。
Scheduler エージェント スーパーバイザー 分散された一連のサービスやその他のリモート リソースにわたる一連のアクションを調整します。
シーケンシャルなコンボイ 他のメッセージ グループの処理をブロックせずに、関連する一連のメッセージを定義された順序で処理します。