title: What are various techniques to control rate of API based webhooks sent (From Server to Client)
body: <p>I have a system as shown in the diagram. Multiple clients request to the web pod, web pod pushes the request to a shared queue.</p>
  <p>Messages from the queue are de-queued based on the rate at which process_task_worker processes the request.</p>
  <p>Once the processing is done, it sends the message to the shared queue. These messages are then dequeued by the webhook_worker and webhook (API call) is fired to respective clients.</p>
  <p><a href="https://i.stack.imgur.com/eQre5.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/eQre5.png" alt="Simplified System Diagram" /></a></p>
  <p>I would like to add rate limiter to rate limit the number of webhook sent by the webhook_worker per client. rate limiting factor could be a generic count across all the clients.
  But if rate limit is breached, that message should be re-enqueued to the queue instead of discarding it.</p>
  <p>What all techniques can i employ to solve this? What is the term called for such thing since we are not discarding it but rather re-enqueuing it?</p>