Transactional Consumer Pattern with Kafka and PostgreSQL
Co-locating the Kafka offset with business data in a single PostgreSQL transaction gives you exactly-once consumer semantics without a distributed transaction coordinator. A walkthrough in Spring Boot and Kotlin.