Módulo de estudo
Arquitetura de Microsserviços na Prática
Módulo 100% tutorial: construa e valide um monorepo real com 5 microsserviços (Java, Python, Go, Ruby, Node), Kafka, Redis e Docker Compose com código, caminhos de arquivo e comandos executáveis.
- Nível
- Avançado
- Duração
- 36h
- Pontos
- 2500
- Aulas
- 63
0 de 83 etapas concluídas
O que você vai aprender
- Implementar microsserviços com bounded contexts independentes em cinco linguagens, passo a passo.
- Executar tutoriais reais de APIs REST, eventos Kafka e cache Redis com caminhos de arquivo e comandos.
- Validar resiliência, observabilidade, contratos e testes distribuídos com práticas de produção.
- Demonstrar fluxo completo de e-commerce de POST /customers até analytics.
Arquitetura de Microsserviços na Prática
Este módulo é orientado a tutoriais práticos reais: cada matéria traz código, caminhos de arquivos, comandos e testes para você executar o sistema distribuído de ponta a ponta.
Revisão 2.0.0: todas as 63 aulas foram reescritas com passo a passo, código completo por arquivo (Dockerfile, controllers, consumers, schemas) e seção Como testar com curl, docker compose e saída esperada.
Carga estimada: ~36 horas
Pré-requisitos: programação em pelo menos uma linguagem, HTTP/REST, linha de comando e Git.
O projeto
Monorepo de e-commerce distribuído com cinco microsserviços independentes:
| Serviço | Linguagem | Framework |
|---|---|---|
| Customer | Java | Spring Boot |
| Order | Python | FastAPI |
| Payment | Go | Gin |
| Notification | Ruby | Sinatra API |
| Analytics | Node.js | Express |
Comunicação principal via Kafka (eventos) e Redis (cache e Pub/Sub). Tudo sobe com docker compose up.
Estrutura do projeto
| Pasta | Caminho | Responsabilidade |
|---|---|---|
| Serviços | services/* |
APIs, regras de negócio e persistência por contexto |
| Infraestrutura | infra/ |
Kafka, Redis, Prometheus, Grafana, Jaeger |
| Contratos | contracts/events |
JSON Schema versionado dos eventos |
| Compartilhado | shared/ |
Scripts e convenções do monorepo |
| Orquestração | docker-compose.yml, Makefile |
Subida e operação local padronizada |
Como usar o Makefile
make help— lista comandos disponíveis.make up/make down— sobe e derruba o ambiente.make logs— acompanha logs agregados.make test— executa testes dos serviços.
Dica sobre .env
Copie .env.example para .env e ajuste portas e hosts locais. Nunca commite segredos reais. Em equipe, documente variáveis novas no .env.example no mesmo PR.
Trilha completa (20 matérias)
- Docker, Monorepo e Primeiro Deploy (
docker-monorepo-fundamentos) - APIs REST e Bounded Contexts (
apis-rest-bounded-contexts) - Kafka e o Primeiro Evento (
kafka-primeiro-evento) - Fluxo order.created (
fluxo-order-created) - Fluxo de Pagamento e Notificação (
fluxo-payment-notification) - Analytics e Múltiplos Eventos (
fluxo-analytics) - Redis Pub/Sub vs Kafka (
redis-pubsub-vs-kafka) - Redis Cache (Cache Aside) (
redis-cache-aside) - Dead Letter Queue (
dead-letter-queue) - Retry, Backoff e Circuit Breaker (
retry-backoff-circuit-breaker) - Idempotência e Deduplicação (
idempotencia-eventos) - Consumer Groups e Particionamento (
consumer-groups-particionamento) - Escalando Containers (
escalando-containers) - Observabilidade: Prometheus e Grafana (
observabilidade-prometheus-grafana) - Tracing Distribuído (
tracing-distribuido) - Testes em Sistemas Distribuídos (
testes-sistemas-distribuidos) - Contratos de Eventos (
contratos-eventos) - Versionamento de Eventos (
versionamento-eventos) - Chaos Engineering (
chaos-engineering) - Projeto Final: Fluxo Completo (
projeto-final-microsservicos)
Outline oficial
Consulte o guia detalhado em arquitetura-microsservicos-pratica-outline.md.
Grade curricular
Cada matéria agrupa várias aulas e um simulado. Ao concluir todas, faça a prova final para obter o certificado.
- Não iniciada
- Em andamento
- Concluída
-
Matéria 1
Docker, Monorepo e Primeiro Deploy
Você constrói a base operacional do e-commerce distribuído com monorepo multi-stack, Dockerfiles reais e docker-compose para subir 5 serviços com health checks.
-
-
Matéria 2
APIs REST e Bounded Contexts
Você implementa APIs REST reais por contexto de negócio, separando controller/service/repository em cada stack para preparar integração assíncrona sem acoplamento.
-
-
Matéria 3
Kafka e o Primeiro Evento
Você implementa o primeiro fluxo orientado a eventos do projeto, publicando e consumindo `customer.created` com contrato explícito e validação ponta a ponta.
-
-
Matéria 4
Fluxo order.created
Você modela e implementa o fluxo `order.created` completo: Order publica evento, Payment consome e o sistema passa a operar com consistência eventual de forma explícita.
-
-
Matéria 5
Fluxo de Pagamento e Notificação
Você finaliza o ciclo de pagamento com eventos de sucesso/falha e consumo no Notification Service, incluindo práticas de resiliência para mensagens problemáticas.
-
-
Matéria 6
Analytics e Múltiplos Eventos
Você cria um serviço de Analytics orientado a eventos sem acoplar leitura ao banco de outros serviços. A proposta é transformar eventos operacionais em métricas úteis para produto e operação no e-commerce.
-
-
Matéria 7
Redis Pub/Sub vs Kafka
Nesta fase o aluno ganha repertório para decidir ferramenta de mensageria conforme requisito real. Você coloca Redis e Kafka lado a lado no mesmo projeto para observar comportamento, limitações e trade-offs operacionais.
-
-
Matéria 8
Redis Cache (Cache Aside)
A matéria aborda performance com Redis cache sem sacrificar consistência do domínio. Você implementa leituras aceleradas para dados de cliente e cria disciplina de invalidação para evitar respostas obsoletas.
-
-
Matéria 9
Dead Letter Queue
Aqui você fecha o ciclo de tratamento de falhas irreparáveis no consumo assíncrono. O objetivo é preservar throughput do sistema principal e manter evidências para correção posterior sem perda de controle operacional.
-
-
Matéria 10
Retry, Backoff e Circuit Breaker
A etapa reforça resiliência em cenários de indisponibilidade parcial no e-commerce distribuído. Você codifica políticas de repetição e proteção de chamadas para melhorar taxa de sucesso sem sobrecarregar dependências.
-
-
Matéria 11
Idempotência e Deduplicação
Você garante que uma mesma mensagem não cause cobrança ou notificação duplicada. A proposta é consolidar deduplicação em pontos críticos do fluxo de pagamento e comunicação com o cliente.
-
-
Matéria 12
Consumer Groups e Particionamento
A matéria mostra como escalar consumo Kafka de forma previsível no monorepo. Você testa múltiplas instâncias e valida ganhos reais sem violar ordenação importante para o negócio.
-
-
Matéria 13
Escalando Containers
Você evolui operação local para cenário mais próximo de produção usando escala de containers. O foco está em throughput, limites de recursos e comportamento do sistema sob carga crescente.
-
-
Matéria 14
Observabilidade: Prometheus e Grafana
Esta etapa cria visibilidade contínua da plataforma distribuída. Você coleta métricas de API e mensageria para diagnosticar degradações rapidamente e sustentar evolução segura das próximas matérias.
-
-
Matéria 15
Tracing Distribuído
A matéria conecta eventos e chamadas síncronas em um único rastro de execução. O objetivo é facilitar troubleshooting em fluxos longos de negócio do e-commerce com evidência temporal por salto.
-
-
Matéria 16
Testes em Sistemas Distribuídos
Você estrutura estratégia de testes para arquitetura distribuída sem depender apenas de validação manual. A matéria combina velocidade de feedback local com confiança em integrações críticas do monorepo.
-
-
Matéria 17
Contratos de Eventos
Aqui o time formaliza eventos como contrato versionado e auditável. O resultado é reduzir quebras silenciosas entre produtor e consumidor em um ecossistema com múltiplas linguagens.
-
-
Matéria 18
Versionamento de Eventos
A matéria trata evolução contínua do domínio com contratos vivos. Você aprende a introduzir novos campos e semânticas mantendo compatibilidade e observabilidade durante toda a transição.
-
-
Matéria 19
Chaos Engineering
Nesta fase o sistema é testado sob falhas reais de infraestrutura e aplicação. O foco é validar se mecanismos de retry DLQ cache e observabilidade realmente sustentam continuidade de negócio.
-
-
Matéria 20
Projeto Final: Fluxo Completo
A última etapa integra tudo o que foi construído no monorepo do e-commerce. Você executa uma apresentação fim a fim com roteiro técnico, checklist de operação e próximos passos para maturidade arquitetural.
-
Etapa final
Prova final
Nota mínima: 70% · 18 questões
Faça login para registrar sua aprovação, pontos e certificado.
Iniciar prova finalProva final bloqueada
Conclua todas as matérias e simulados para liberar a prova final.