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.