Ratelimit Middleware

The ratelimit middleware exists to reduce the maximum messages send by a service per second. This is typically placed in from of a process sending output from a user process to avoid overwhelming clients with too many messages.

It's rate limited on a per message basis causing back pressure which ideally slows down the sending program program and causes output to be coalesced into fewer messages.

To improve interactivity when a user sends a message (like input) the service receives a burst of extra allowed outgoing messages. This way interactive terminal games stay fast.

There's also an initial burst allowing many messages to be sent instantly until the burst is used up. The burst recovers when messages are sent slower than the max output rate.

Directly from the old developer docs.

At this time it is unknown which services use this middleware