このアプリケーションでは、パブリッシャーがメッセージを作成してトピックに送信します。
次に、トピックのすべてのサブスクライバーがメッセージに確認応答するまで待機する必要があります。
表示されません。メッセージ バスの実装により、これが自動的に行われます。そのため、各サブスクライバーが完了したら、クライアントに独自の新しいメッセージを送信するようにしています。
これで、クライアントはそのようなメッセージをすべて受信し、各宛先から 1 つを受信したら、必要なクリーンアップを実行できます。しかし、クライアント (送信者) が確認応答のストリームの途中でクラッシュした場合はどうなるでしょうか? このような不運に対処するには、バスが既に実装しているものをクライアントで (再) 実装する必要があります。十分な受信確認が得られるまで、受信確認を保存します。
私たちのニーズはそれほど難解なものではないと思います。送信者 (パブリッシャー) が複数の受信者 (サブスクライバー) からの確認を待たなければならない状況をどのように処理しますか? 各購読者からメーリングリストへのReturn-Receiptsをリクエスト(および待機)するようなものです...
問題があれば、RabbitMQ を使用しています。ありがとう!