Redis Stream Coordinator
Design docs

Context, Goals, Non-Goals

Context

Redis Stream stores messages under stream keys. A single hot stream key can grow into a BigKey and, in Redis Cluster, belongs to exactly one hash slot. That limits write distribution, read distribution, and operational isolation unless the application splits traffic across multiple stream keys.

Application-level sharding solves the storage and distribution problem, but it creates a coordination problem:

Redis Stream Coordinator fills this gap by adapting the coordinator-managed rebalance model from KIP-848 to Redis Stream shard ownership.

Goals

Non-Goals

Assumptions

User-Facing Modules

Operating Model

  1. An operator creates a group through the Coordinator Admin API.
  2. Producers fetch routing metadata and publish to the active shard stream.
  3. Consumers join through heartbeat and report current ownership.
  4. The coordinator calculates target assignment and returns it in heartbeat responses.
  5. Consumers revoke removed shards, start newly assigned shards, and keep heartbeating progress.
  6. Operators monitor group state and trigger shard count migration when needed.