私は、rabbitmq 接続ごとのフロー制御が複数のコンシューマーでどのように機能するかを理解しようとしています。特に、消費者の 1 人がハングアップするとどうなるでしょうか? フロー制御が呼び出され、それが残りのコンシューマーにどのように影響するか? 動作は、キューが永続的か自動削除かによって異なりますか?
ありがとう。
私は、rabbitmq 接続ごとのフロー制御が複数のコンシューマーでどのように機能するかを理解しようとしています。特に、消費者の 1 人がハングアップするとどうなるでしょうか? フロー制御が呼び出され、それが残りのコンシューマーにどのように影響するか? 動作は、キューが永続的か自動削除かによって異なりますか?
ありがとう。
Per-connection flow controlパブリッシャー (またはパブリッシャーのグループ) が、キューの処理速度よりも速くキューにメッセージを送信するとどうなるかを説明します。キューが際限なくいっぱいになると、ある時点で RabbitMQ が不安定になるため、これは安全機能です。ドキュメントから、これは自動です:
RabbitMQ は、公開が速すぎてキューが追いつかない接続をブロックします。設定は必要ありません。
残念ながら、ドキュメントには、このフロー制御がいつ/どのように実装されるかについて、「1 秒あたり数回」以外はあまり具体的ではありません。したがって、1 つのコンシューマーがスタックした場合、他のコンシューマーが追いつくことができる限り、フロー制御はトリガーされません。