1Gateway can automatically throttle incoming traffic in case of congestion. Throttling is configured in the plugins in advanced mode. The relevant parameters are "maximum queue size", "throttle traffic volume" and "discard messages when queue is full". The objective of throttling is to deal with temporary overflow situations, for example when an outage has caused a queue to build up in a source endpoint and the target endpoint needs time to process the messages in that queue. In certain configurations permanent overflow will also be mitigated by flow control, but should be avoided when possible. Â
Sender plugins can be configured to issue requests to slow down or even halt when their queue fills up. Listener plugins can be configured to honour those requests, or to ignore them.
Parameter settings
Sender
Throttle
The throttle parameter on a sender plugin defines whether or not the plugin will issue flow control requests (slow down, speed up, or halt) when the queue reaches certain watermarks.
Discard
When the queue is at 100%, the sender plugin can ensure that the queue does not grow by discarding the oldest messages. If discard is set to off, the queue will be allowed to grow beyond the specified size, and is only limited by memory or disk space.
Listener
Throttle
The throttle parameter on the listener plugin determines whether or not the plugin will honour flow control requests. If turned on, a "slow down" request will cause the plugin to produce less messages per second.