What problem does it solve?
Integrates production-grade Kafka messaging into Java 21 / Spring Boot 3.x services to ensure reliable, ordered, and auditable event delivery for financial workloads. It eliminates common pitfalls like lost messages, duplicate processing, improper offset commits, and unhandled consumer failures.
Core Features & Use Cases
- Producer best practices: idempotent producers, acks=all, batching and compression tuned for throughput and durability.
- Consumer resilience: manual acknowledgement, idempotent consumers via deduplication table, MDC correlation propagation, and controlled concurrency.
- Error handling & DLT: exponential backoff retries, DefaultErrorHandler with DeadLetterPublishingRecoverer routing to topic.DLT, and non-retryable deserialization handling.
- Operational patterns: topic naming conventions, TopicBuilder/NewTopic configuration, transactional outbox pattern for atomic DB+event writes, and guidance for schema evolution.
- Use Case: publish TransactionCreatedEvent from the transaction service, guarantee at-least-once delivery via outbox, and ensure ledger-service consumes idempotently with failures routed to a DLT.
Quick Start
Publish a TransactionCreatedEvent to prod.banking.transaction.created with an idempotent producer and configure a consumer with manual acknowledgment and DLT routing to validate end-to-end reliability.