Curso Celery and RabbitMQ Distributed Task Management
24 horasVisão Geral
Este Curso Celery and RabbitMQ Distributed Task Management, é uma imersão completa no gerenciamento de tarefas distribuídas usando Celery e RabbitMQ. Focado na configuração e otimização de ambientes que exigem execução paralela e distribuição de tarefas, o curso capacita os alunos a criar pipelines assíncronos eficientes e escaláveis. Os tópicos cobrem desde a instalação e configuração do Celery com RabbitMQ até práticas avançadas para monitoramento e recuperação de falhas, além de gerenciamento de filas complexas. Através de estudos de caso e laboratórios práticos, os participantes aprenderão a aproveitar o poder dessas ferramentas para otimizar sistemas e melhorar a escalabilidade das suas aplicações.
Objetivo
Após realizar este curso Celery and RabbitMQ Distributed Task Management, você será capaz de:
- Configurar e integrar o Celery com o RabbitMQ para criar ambientes de tarefas distribuídas
- Implementar e gerenciar filas e tarefas complexas, controlando o roteamento e a escalabilidade das mesmas
- Monitorar o desempenho e resolver falhas em pipelines assíncronos
- Aplicar técnicas de recuperação e resiliência de tarefas em sistemas críticos
Publico Alvo
- Desenvolvedores de software e engenheiros de dados que trabalham com grandes volumes de processamento
- Profissionais de DevOps e SRE interessados em otimização de tarefas distribuídas
- Administradores de sistemas que buscam aprimorar suas habilidades em gerenciamento de filas e tarefas assíncronas
- Cientistas de dados e analistas que desejam automatizar processos de dados
Pre-Requisitos
- Familiaridade com Python
- Conhecimento básico em filas de mensagens e processamento assíncrono
- Experiência com algum framework de desenvolvimento web ou de dados
Materiais
Inglês + Exercícios + Lab PraticoConteúdo Programatico
Introduction to Distributed Task Management
- Overview of task distribution in software applications
- Advantages of using Celery and RabbitMQ
- Key concepts in message brokering and task queues
Getting Started with Celery and RabbitMQ
- Installation and environment setup
- Basic configuration and connectivity between Celery and RabbitMQ
- First task setup and execution
Configuring and Managing Task Queues
- Defining and managing queues
- Custom routing of tasks to specific queues
- Load balancing and queue prioritization strategies
Advanced Celery Task Management
- Asynchronous vs synchronous task execution
- Task chaining, groups, and chords
- Retries and error handling
Monitoring Celery Tasks
- Introduction to Flower for real-time monitoring
- Setting up metrics and alerts
- Logging and auditing tasks for system insights
Error Handling and Task Resilience
- Configuring retry policies and backoff strategies
- Graceful task degradation and recovery
- Ensuring task idempotency and resilience
Scaling Celery and RabbitMQ for High Demand
- Horizontal scaling with multiple workers
- Optimal configurations for large-scale systems
- Managing resources and limiting worker concurrency
Security and Access Control in Distributed Task Management
- Configuring SSL/TLS for RabbitMQ communication
- Role-based access and permissions in RabbitMQ
- Secure task data handling
Integrating Celery with Real-World Applications
- Case study: Celery in a data processing pipeline
- Case study: Task automation in a web application
Best Practices and Optimization Techniques
- Performance tuning and memory management
- Debugging and resolving common issues in Celery and RabbitMQ
- Recommended best practices for production environments