Yes, with compaction enabled old events will be deleted. Hence this is not a viable solution if you want to keep the whole history in Kafka. But, as mentioned in the last section, you might also want to keep the whole history somewhere else (e.g. a slower storage), and use Kafka to store only relatively recent events, plus snapshots of the “current states” of the entities to be able to replay the recent events, starting from the snapshotted current states.

This does get a bit more complicated, but you have two many events to store them all in Kafka, you’ll need some extra work.

Scala software engineer, Functional Programming enthusiast, SoftwareMill co-founder

Scala software engineer, Functional Programming enthusiast, SoftwareMill co-founder