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.

  1. Introduction to Apache Kafka and Spring Kafka
    1. Overview of Kafka and its architecture
    2. Introduction to Spring Kafka and its benefits
  2. Configuring Topics
    1. Creating and managing topics programmatically
    2. Topic configurations and best practices
  3. Sending Messages
    1. Producer Factory with default implementation
    2. KafkaTemplate
    3. RoutingKafkaTemplate
    4. ReplyingKafkaTemplate
    5. AggregatingReplyingKafkaTemplate
  4. Receiving Messages
    1. Consuming messages without annotations
      1. Message Listeners
      2. Message Listener Containers
      3. Consumer Factory with default implementation
      4. Container Factory
    2. @KafkaListener annotation
    3. Manual offset commit
    4. @KafkaListener return types
    5. @KafkaHandler and @KafkaListener annotations
    6. Rebalancing listeners
    7. Forwarding Listener Results with @SendTo
    8. Filtering messages
    9. Retrying delivery
    10. Starting @KafkaListeners in sequence
    11. Using KafkaTemplate to receive messages
  5. Listener Container Properties
  6. Dynamically Creating Listener Containers
  7. Application Events
  8. Topic/Partition Initial Offset Management
  9. Seeking to a Specific Offset
  10. Thread Safety
  11. Monitoring Spring Kafka applications
  12. Transactions
  13. Exactly Once Semantics
  14. Wiring Spring Beans into Producer/Consumer Interceptors
  15. Producer Interceptor Managed in Spring
  16. Pausing and Resuming Listener Containers
  17. Serialization, Deserialization, and Message Conversion
  18. Message Headers
  19. Null Payloads and Log Compaction of 'Tombstone' Records
  20. Handling Exceptions
    1. Blocking retries
    2. Non blocking retries
  21. Business application with Kafka and relational database
    1. Introduction to application architecture
      1. CRUD Model vs Domain Model synchronization
    2. Idempotent Consumer
      1. Inbox pattern implementations
    3. Outbox pattern
    4. Asynchronous retries
    5. Inconsistency reconciliation