Event Propogation (WIP)¶
Mechanisms for synchronising event data between two or more systems can be categorised on 2 different dimensions:
- Bulk <-> Streaming
- Push <-> Pull
In a bulk propogation system, events are stored up and then synchronised by transfer in bulk. A classic example would be periodics tasks fetching files from an sFTP service. Streaming systems in contrast propogate in soft real-time. As events occur, they're immediately available for propogation.
Push systems take events and are responsible for delivering them to subscribers - Pub-Sub style. The actual method of propogation can be quite variable, from webhooks to sockets to enterprise service buses. The key pointing being that the publisher is smart. In Pull systems it works the other way around, the publishing system just makes the event data available. It's the responsiblity of the consumer to fetch them. With this approach, the consumer is the only one that needs to be smart.