Visão Geral
O Curso Kafka with Python (Faust / Confluent) foi desenvolvido para desenvolvedores e engenheiros de dados que desejam criar aplicações de streaming em tempo real usando Python com Kafka.
Durante o treinamento, os participantes aprenderão a construir producers, consumers e stream processors utilizando Faust e a integrar com Confluent Kafka, incluindo Schema Registry e Avro.
O curso combina teoria, exemplos práticos e laboratórios para capacitar os alunos a implementar pipelines de dados confiáveis, escaláveis e reativos em Python.
Conteúdo Programatico
Module 1: Introduction to Kafka with Python
- Kafka concepts for Python developers
- Overview of Faust and Confluent Python client libraries
- Setting up development environment (Python, Kafka, Docker)
- Creating basic producers and consumers in Python
Module 2: Faust Fundamentals
- Introduction to Faust and event-driven Python applications
- Streams, tables, agents, and topics in Faust
- Creating and running Faust agents
- Stateful vs stateless stream processing
Module 3: Confluent Python Client
- Using Confluent Kafka Python library
- Producing and consuming messages with Avro serialization
- Working with Schema Registry
- Error handling and retries
Module 4: Stream Processing with Faust
- Filtering, mapping, and aggregating streams
- Windowed operations and joins
- Handling late-arriving and out-of-order events
- Deploying Faust applications for production
Module 5: Integration with Confluent Platform
- Configuring Kafka brokers, topics, and Schema Registry
- Using Avro and Protobuf serialization in Python
- Implementing message validation and schema evolution
- Monitoring and logging Kafka applications
Module 6: Docker and Deployment
- Containerizing Python applications with Docker
- Running Kafka, Faust, and Confluent services in Docker Compose
- Scaling agents and consumers in Dockerized environments
- Best practices for deployment and monitoring
Module 7: Testing and Troubleshooting
- Unit and integration testing of Python Kafka applications
- Debugging message serialization and processing errors
- Metrics collection and logging for Python streams
- Handling failures and ensuring reliability
Module 8: Hands-On Project
Project: Build a fully functional Python streaming application using Faust and Confluent Kafka, implementing producers, consumers, stateful processing, and deploying it in Docker containers.