Visão Geral
O curso RabbitMQ with Java and Spring é voltado para desenvolvedores que desejam aprender a implementar sistemas de mensageria usando RabbitMQ junto com o framework Spring. O Curso RabbitMQ with Java and Spring abrange desde os conceitos básicos de mensageria até a construção de aplicativos escaláveis e distribuídos com RabbitMQ, Java e Spring Boot. Os participantes aprenderão como configurar RabbitMQ, integrar com o Spring para enviar e receber mensagens, e gerenciar filas e tópicos.
Conteúdo Programatico
Módulo 1: Introdução à Mensageria com RabbitMQ
- O que é RabbitMQ?
- Conceitos básicos de mensageria (fila, exchange, binding)
- Quando usar RabbitMQ em sistemas distribuídos
- Instalando e configurando RabbitMQ
Módulo 2: Visão Geral do Spring Boot e RabbitMQ
- Introdução ao Spring Boot
- Integração de RabbitMQ com Spring Boot
- Configurações básicas de RabbitMQ no Spring
Módulo 3: Configurando Filas e Exchanges no RabbitMQ
- Criação e gerenciamento de filas
- Tipos de exchanges (direct, topic, fanout, headers)
- Definindo bindings entre exchanges e filas
Módulo 4: Enviando e Recebendo Mensagens com Spring
- Configuração de producers e consumers no Spring
- Enviando mensagens para RabbitMQ
- Processamento de mensagens recebidas
- Tratamento de mensagens de erro e reenvio
Módulo 5: Padrões de Mensageria
- Padrão Fanout
- Padrão Direct
- Padrão Topic
- Aplicações práticas de cada padrão
Módulo 6: Garantia de Entrega e Persistência
- Confirmação de mensagens (acknowledgment)
- Dead Letter Queues (DLQ)
- Garantindo a entrega confiável de mensagens
- Persistência de mensagens e durabilidade de filas
Módulo 7: Monitoramento e Gerenciamento do RabbitMQ
- Ferramentas de monitoramento do RabbitMQ
- Uso do RabbitMQ Management Plugin
- Análise de desempenho e otimização de filas
Módulo 8: Segurança e Escalabilidade
- Segurança no RabbitMQ (SSL, autenticação, autorização)
- Clustering no RabbitMQ para alta disponibilidade
- Implementando balanceamento de carga com Spring e RabbitMQ
Módulo 9: Projeto Prático
- Desenvolvimento de um sistema distribuído completo usando RabbitMQ, Java e Spring
- Integração de múltiplos serviços
- Escalabilidade e tratamento de falhas no sistema