advanced
Kafka partitions
Используйте partitions как unit parallelism и per-key ordering, carefully выбирая keys, потому что repartitioning affects scale and ordering.
Partitions — единица parallelism и per-key ordering в Kafka. Messages с одним key попадают в одну partition и читаются по порядку там. Больше partitions — выше throughput ceiling, но больше file handles, rebalance cost и minimum consumer parallelism.
Компромисс: repartitioning сложен — выбирайте count по expected throughput и consumer count заранее.
На интервью: key для order events, чтобы все события одного order ordered; эффект null keys.
Типовые ошибки: hot partitions от skewed keys; слишком много partitions для малого cluster; смена partition count ломает assumptions порядка.
Чеклист:
- Key по natural business identifier для ordering.
- Size partitions от peak throughput и consumer targets.
- Per-partition lag для hot spots.
- Repartitioning как migration, не routine ops.