Spring Kafka workshop
Enhance your team’s expertise with our workshop, designed for organizations seeking a deep dive into the internal mechanisms of Kafka and Spring. This interactive training combines theoretical insights with hands-on exercises, allowing participants to explore how these technologies work together to create powerful event-driven applications.
Your developers will learn about Kafka’s architecture, message processing, and the intricacies of Spring integration, ensuring they gain a thorough understanding of best practices and performance optimization. By the end of the workshop, they will be equipped to implement robust solutions tailored to your business needs.
- Introduction to Apache Kafka and Spring Kafka
- Overview of Kafka and its architecture
- Introduction to Spring Kafka and its benefits
- Configuring Topics
- Creating and managing topics programmatically
- Topic configurations and best practices
- Sending Messages
- Producer Factory with default implementation
- KafkaTemplate
- RoutingKafkaTemplate
- ReplyingKafkaTemplate
- AggregatingReplyingKafkaTemplate
- Receiving Messages
- Consuming messages without annotations
- Message Listeners
- Message Listener Containers
- Consumer Factory with default implementation
- Container Factory
- @KafkaListener annotation
- Manual offset commit
- @KafkaListener return types
- @KafkaHandler and @KafkaListener annotations
- Rebalancing listeners
- Forwarding Listener Results with @SendTo
- Filtering messages
- Retrying delivery
- Starting @KafkaListeners in sequence
- Using KafkaTemplate to receive messages
- Consuming messages without annotations
- Listener Container Properties
- Dynamically Creating Listener Containers
- Application Events
- Topic/Partition Initial Offset Management
- Seeking to a Specific Offset
- Thread Safety
- Monitoring Spring Kafka applications
- Transactions
- Exactly Once Semantics
- Wiring Spring Beans into Producer/Consumer Interceptors
- Producer Interceptor Managed in Spring
- Pausing and Resuming Listener Containers
- Serialization, Deserialization, and Message Conversion
- Message Headers
- Null Payloads and Log Compaction of 'Tombstone' Records
- Handling Exceptions
- Blocking retries
- Non blocking retries
- Business application with Kafka and relational database
- Introduction to application architecture
- CRUD Model vs Domain Model synchronization
- CRUD Model vs Domain Model synchronization
- Idempotent Consumer
- Inbox pattern implementations
- Inbox pattern implementations
- Outbox pattern
- Asynchronous retries
- Inconsistency reconciliation
- Introduction to application architecture