A stream refers to data that is incrementally made available over time with an unbounded input. Basically makes use of the Publisher Subscriber Model, where messages notify consumers of events.
One challenge that needs to be solved is the issue in which messages are being produced faster than they are consumed.
- Use a buffer (Message Queue?
- Drop messages?
- Apply backpressure?
- What if a node crashes? How do we remain durable?
It is common for messages to be send using a broker or a Message Queue