Customize back-pressure mechanisms #4809
-
Hello, We have been using Rabbit for a few years for our process-mining platform and we have experienced several episodes of panic due to bad configuration of limits (RAM/Disk watermarks) (Rabbit really doesn't like disk overruns). But well configured, it poses other problems: Indeed, our processing pipeline has several stages, all of which use Rabbit queues. So we have primary producers who post in the queue of the first stage, we don't control their traffic. But subsequently, during processing, each stage will consume the queue of its stage and publish in the queue of the following stage, also then can publish in "retries" queues which allow us to manage replays following transient errors. This means that if, for example following an overrun of the "disk-low-watermark", due to a swelling of the queue of the first stage, if Rabbit blocks the publications, there will be no chance in being able to unstack this queue and left the back pressure mechanism. So I was wondering if it was possible to customize the back-pressure mechanism. Ideally, we would like 2 thresholds:
I specify that coding does not scare us, we just want opinions on the subject. Franck |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 6 replies
-
In environments where alarms are likely, we recommend using separate connections for publishers and consumers. This way consumer connections won't be blocked. There is no way to configure back pressure. Blocking only some publishers won't achieve the goal |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
In environments where alarms are likely, we recommend using separate connections for publishers and consumers. This way consumer connections won't be blocked.
There is no way to configure back pressure. Blocking only some publishers won't achieve the goal
the alarm mechanism was created to achieve.