メイン アプリケーションと同様に 500 のサブアプリケーションが 500 の異なるサーバーにデプロイされており、現在 MQ があります。メイン アプリケーションはサブアプリケーションにメッセージを送信します。サブアプリケーションには多くの機能があり、それらはすべて異なるメッセージを必要とします。
サブアプリケーションでコンシューマを開く必要がありますか、それともサブアプリケーションの関数ごとにコンシューマを開く必要がありますか?
私の現在の計画では、サブアプリケーションごとにコンシューマーを 1 つだけ開き、送信されるメッセージで特定の操作メソッドを定義することです。形式は次のとおりです:
リーリーサブアプリケーションはメッセージを受信すると、アクションに基づいてどのメソッドを呼び出すかを決定します。次に、本体は処理する必要があるビジネス データです。
あなたの場合、MQ を使用して疎結合 RPC 呼び出しを行っています。 mq の選択が何であるかわかりません。たとえば、私がよく知っているKafkaは、トピックを使用して、単一のマシン上に単一のコンシューマグループを構成し、RPCに従ってメッセージを書き込むことができ、基本的に重複や損失がなく、上流で実行できます。ダウンストリーム サービスは分離されています