Functional
- Publish ordered records to partitioned topics.
- Retain records for replay and independent consumers.
- Coordinate consumer groups and expose lag.
Retain ordered event streams for independent consumers and replayable processing.
Batch, compress, and distribute across thousands of partitions.
~3 PB raw before replication; tier older segments.
Per-record overhead requires batching.
Offsets and rebalances are a substantial control-plane load.
These are reference assumptions, not universal facts. In an interview or architecture review, change them when the product context changes.
/v1/topics/{topic}/recordsBatch publish with key and producer sequence./v1/topics/{topic}/partitions/{p}?offset=Fetch a bounded sequential batch./v1/groups/{group}/offsetsCommit processed offsets by generation.topic+partition+offset, key, timestamp, headers, payloadOffset is assigned by the leader and never changes.group, generation, members, assignments, committed_offsetsGeneration fences stale members after rebalance.Store and serve partition logs
Manage metadata and leader placement
Batch, partition, and retry writes
Divide partitions among workers
The partition leader assigns offsets and replicates batches to in-sync replicas. Producer ID plus monotonically increasing sequence lets the leader reject duplicate retries and out-of-order batches.
Keys preserve entity order but create hotspots when distributions skew. Partition count sets the parallelism ceiling and affects metadata, recovery, and future re-keying.
A coordinator assigns partitions using a generation. Cooperative rebalancing moves only needed partitions. Consumers commit offsets after effects or atomically with platform-managed output when supported.
Elect an in-sync replica and fence the previous leader.
Scale within partition limits, reduce work, or accept a recovery window.
Move here when: Initial event backbone.
Move here when: Many teams and replay workflows.
Move here when: Retention and tenant isolation dominate.
Strong answer signal: Existing key order splits at the change; consumers and partitioners must account for it.
Strong answer signal: Lag/time bounds plus leader epoch; avoid acknowledging replicas that cannot take over safely.
Strong answer signal: Atomic offset+output transaction inside the platform; external effects remain separate.