Kafka Native Driver workshop

Workshop is intensive two days long training session designed to equip you with a comprehensive understanding of Apache Kafka, the industry-leading platform for real-time data streaming and asynchronous communication. This training will explore the fundamental concepts of Kafka architecture, including topics, partitions, brokers, and consumer groups, as well as advanced topics like data modeling, message ordering, and transactions.

Participants will engage in hands-on exercises to gain practical experience with Kafka's command-line interface, producers, and consumers, while learning best practices for building scalable and resilient data pipelines. Real-world case studies will illustrate the application of Kafka in distributed systems, empowering you to implement effective solutions in your own projects.

Whether you're looking to transition to microservices architecture or enhance your data processing capabilities, this training will provide the tools and insights you need to leverage Kafka effectively in your organization.

  1. Asynchronous communication
    1. Monolith vs Microservices
    2. Asynchronous communication examples
    3. Distributed systems, case studies
  2. Apache Kafka Architecture
    1. Building blocks
      1. Topics, Partitions, Offsets
      2. Brokers
      3. Producers
      4. Consumers, Consumers Groups
      5. Offsets
    2. Clustering and data replication
      1. Broker Controller
      2. Consumer Group Leader
      3. Consumer Group Coordinator
      4. Partition Leader
      5. Preferred vs Actual Leader
      6. KRAFT
      7. Topics Replication
      8. ACK
      9. Minimum synced replicas
  3. Data modeling in Apache Kafka
    1. Message ordering
    2. How to set good number of Partitions?
    3. How to set good number of Topics?
    4. How to distribute data across Topics and Partitions?
    5. Scenarios for safe increase Partitions number
  4. Kafka CLI
    1. Zarządzanie Topic’ami
    2. Wysyłanie wiadomości
    3. Odbieranie wiadomości
    4. Monitorowanie i zarządzanie Consumer Groups
    5. Zarządzanie Offset’ami
  5. Native driver
    1. Kafka Producer
      1. Sender Thread
      2. Memory management
      3. Partitioner
      4. Retry logic
      5. Serialization
      6. Idempotency
    2. Kafka Consumer
      1. Threads model
      2. Delivery semantics
      3. Deserialization
      4. Partition Assignment Strategies
      5. Static membership
      6. Consuming messages without Consumer Group 
  6. Transactions
    1. How it works?
      1. Producer only transactions
      2. Consumer and Producer transactions
    2. Transaction Coordinator
    3. Transaction Marker
    4. Transaction timeout
    5. Kafka Consumer isolation level
    6. How to set transactional.id?
    7. Transactional systems, case studies
    8. Business application with Apache Kafka transactions, implementation