Request/Response パターンを使用して、MassTransit/RabbitMQ 経由で API からのリクエストがバックエンド サービスに転送される API の作成を完了しました。現在、これを本番環境にプッシュすることを検討しており、アプリケーションの複数のインスタンス (API とサービスの両方) を異なるサービスで実行し、ロード バランサーがそれらの間でリクエストを分散することを望んでいます。
これにより、サーバーの 1 つが何らかの理由でプールから取り出された場合、すべてのメッセージを失う可能性があるという状況に陥ります。サーバー間でRabbitMQクラスターを作成しようとしています(各サーバーにはローカルインストールがあります)が、このインスタンスで競合するコンシューマーをどのようにセットアップするのか疑問に思っていました.
RabbitMQ または MassTransit はこれを処理して、1 つのコンシューマーのみがリクエストを受信するようにしますか、それともすべてのコンシューマーがリクエストを受信して応答を試みるようにしますか? また、RabbitMQ クラスターでは、MassTransit/RabbitMQ はノードの障害をどのように処理しますか?