advanced
Kafka compaction
Используйте log compaction для latest-value streams keyed by entity, понимая tombstones, rebuild behavior и loss of event history.
Compaction сохраняет latest record per key, удаляя старые версии — для changelog topics с entity state (user profile, config). Tombstones с null value удаляют keys после delete.retention.ms.
Компромисс: теряется полная event history; consumers, rebuilding state, должны понимать compaction semantics и tombstones.
На интервью: compacted topic для product catalog updates vs immutable order event log.
Типовые ошибки: compaction на topics с нужной полной историей; нет tombstones — zombie keys; consumers предполагают полный replay.
Чеклист:
- Compaction только для keyed latest-value streams.
- Tombstones на delete с правильным timing.
- Тест consumer rebuild из compacted log.
- Разделяйте changelog и immutable event logs.