A Dor Real: O Acoplamento Invisível que Explode na Produção
O time jura que fez “microserviços”. Mas, quando você abre o diagrama, descobre um monolito distribuído: serviços chamando serviços, um puxando outro em cascata, latência escondida atrás de REST síncrono e timeout crescendo igual dívida de cartão.
O pior? Todo mundo acha que colocar uma fila resolve tudo. Mas fila não salva más escolhas — só muda o tipo do incêndio.
O conflito é real: escolher entre mensageria e chamadas diretas define se sua arquitetura escala ou implode.
A Solução Pragmática: Entender o Fluxo e Não a Ferramenta
Microserviços conversam de duas formas:
- Chamadas diretas: REST, gRPC, GraphQL.
- Mensageria: SQS, Kafka, RabbitMQ.
O erro nasce quando a decisão é tomada por hype e não por contexto de negócio. A própria AWS orienta integrações como API Gateway + SQS para workloads assíncronos — justamente para evitar acoplamento direto à fila e padronizar entrada (AWS Patterns).
Regra simples: se o cliente precisa da resposta agora, vá de chamada direta. Se o sistema só precisa do evento, vá de fila. E pare de inventar moda.
Implementação de Sênior: Exemplo Real com API Gateway + SQS
Aqui vai o fluxo clássico e funcional para workloads assíncronos. Sem firula.
{
"openapi": "3.0.1",
"info": {
"title": "Pedido API",
"version": "1.0.0"
},
"paths": {
"/pedido": {
"post": {
"summary": "Envia pedido para processamento assíncrono",
"responses": {
"202": {
"description": "Pedido aceito para processamento"
}
},
"x-amazon-apigateway-integration": {
"uri": "arn:aws:apigateway:us-east-1:sqs:path/1234567890/pedido-queue",
"httpMethod": "POST",
"type": "aws",
"requestParameters": {
"integration.request.header.Content-Type": "'application/x-www-form-urlencoded'"
},
"requestTemplates": {
"application/json": "Action=SendMessage&MessageBody=$input.body"
}
}
}
}
}
}
Este contrato OpenAPI alimenta o próprio API Gateway. O serviço produtor não fala diretamente com o SQS — quem cuida disso é a borda da plataforma.
E o consumidor? Simples: uma Lambda ou container escutando a fila e processando.
O Custo da Escolha: As Cicatrizes de Cada Caminho
1. Só chamadas diretas
- Pró: Simples, rápido, fácil de testar.
- Contra: Acoplamento temporal, cascatas de timeout, impacto direto no SLA.
2. Só mensageria
- Pró: Resiliência e desacoplamento real.
- Contra: Debug mais complexo, consistência eventual, infraestrutura a mais.
A escolha certa raramente é 8 ou 80. O que manda é o fluxo de negócio, não a moda da conferência.
Direto das Trincheiras
- Fila não é desculpa para design ruim. Modelar eventos é tão importante quanto modelar APIs.
- Logging distribuído é obrigatório quando você mistura chamadas diretas e assíncronas.
- Padronize o contrato na borda (API Gateway, Kong, Apigee). Não deixe cada serviço decidir como fala com o mundo.
Fontes
Integre o Amazon API Gateway com o Amazon SQS para lidar com …
Obrigado por acompanhar essa reflexão até o fim!
Espero que esses pontos ajudem você a tomar decisões mais lúcidas no seu próximo projeto. Não deixe de conferir outros artigos aqui no blog, onde descasquemos outros hypes da nossa área.
Valeu e até a próxima! 😉


