Monotonic event IDs
Every event gets an ever-increasing ID. Redis INCR, DB sequence, or timestamp-based.
Advertisement
Server buffers recent events
Keep last N minutes of events per stream. On reconnect with Last-Event-ID: 100, replay 101, 102, 103…
Advertisement
At-least-once, not exactly-once
If the server sends event 100, client processes, but disconnect before ID is committed, reconnect replays. Design clients idempotently.