2011-12-01 16 views
5

Zgodnie z "broker RabbitMQ używa TCP Backpressure, aby spowolnić klienta, jeśli dostarcza zbyt szybko wiadomości." Zarejestrowałem wywołanie zwrotne przeciwprężne i nie zostało ono jeszcze wywołane. Moja kolejka ma ponad 40 milionów wiadomości i rośnie. Ustawiając mnożnik ciśnienia wstecznego na -1, mogę wywoływać wywołanie zwrotne przy każdym opublikowanym komunikacie, ale jest to przydatne tylko przy debugowaniu.Kiedy rabbitmq używa przeciwciśnienia tcp?

Odpowiedz

4

To nie jest tak naprawdę, gdy "Twój klient ... dostarcza wiadomości zbyt szybko", ale gdy jakikolwiek klient dostarcza wiadomości zbyt szybko.

RabbitMQ monitoruje ilość pamięci, której używa, i wywiera przeciwciśnienie, gdy przekroczy określoną część fizycznej pamięci urządzenia. Domyślnie ta frakcja wynosi 0,4, ale można ją zmienić. Aby uzyskać więcej informacji, patrz http://www.rabbitmq.com/memory.html.

Powiązane problemy