-
Notifications
You must be signed in to change notification settings - Fork 19
Open
Description
Should there be language in the spec to support flow control?
Buffering, backpressure etc.
Today, for PUSH:
-
A Transmitter is free to send as many or as little events per second as it wants.
Most implementations would likely send events as soon as they are generate, potentially overwhelming Receivers during periods of high activity. -
A Transmitter is free to buffer as many or as little events as it wants. So if the Receiver is down / unavailable, or is otherwise unable to ack all events for some reason, the Transmitter may start dropping them.
Similar considerations apply to PULL:
- If events are not pulled regularly, the Trasmitter may start dropping them. The exact details of how many events are buffered, for how long, etc. are implementation dependent and outside the spec currently.
I think it would be useful to have some of these knobs visible in the metadata / stream config, so that the Transmitters and Receivers can plan accordingly.
ysarig75ysarig75
Metadata
Metadata
Assignees
Labels
No labels