Expected behavior
We are considering adding the ability to rate limit the dispatcher, both at the broker level but also per topic (or bundle).
Actual behavior
Today, there is no such rate limit so when a consumer gets backlogged, messages get delivered as quickly as possible which can have adverse effects on other bundles hosted on the same broker.
Steps to reproduce
Publish messages at a high rate on a single topic with one consumer that consumes messages slowly, thus creating a backlog. Then toggle the consumer to consume as quickly as it can. This can easily be reproduced with the PerformanceConsumer:
[main:PerformanceConsumer@219] - Start receiving from 1 consumers on 1 destinations
[main:PerformanceConsumer@236] - Throughput received: 1316416.414 msg/s -- 100.435 Mbit/s
[main:PerformanceConsumer@236] - Throughput received: 1334013.524 msg/s -- 101.777 Mbit/s
Expected behavior
We are considering adding the ability to rate limit the dispatcher, both at the broker level but also per topic (or bundle).
Actual behavior
Today, there is no such rate limit so when a consumer gets backlogged, messages get delivered as quickly as possible which can have adverse effects on other bundles hosted on the same broker.
Steps to reproduce
Publish messages at a high rate on a single topic with one consumer that consumes messages slowly, thus creating a backlog. Then toggle the consumer to consume as quickly as it can. This can easily be reproduced with the
PerformanceConsumer: