Ir para o conteúdo principal
ArchPrompts
Voltar ao blog
Caderno técnico / Nota de campo

Microsserviços, DDD, CQRS e companhia: o que cada termo realmente significa

Microsserviços, DDD, CQRS: arquitetura de software tem um problema de vocabulário. Os termos viram buzzword antes de alguém explicar, de fato, o problema que resolvem.

A
ArchPrompts
5 min de leitura
Microsserviços, DDD, CQRS e companhia: o que cada termo realmente significa
AP / Prancha visual 01
Leitura principal

Arquitetura de software tem um problema de vocabulário. Os termos viram modismo de apresentação antes de alguém explicar o problema real que resolvem — e o efeito colateral é previsível: times adotam a técnica pelo nome, não pelo motivo.

A consequência é direta: microsserviço vira padrão automático mesmo quando o time é pequeno demais pra sustentar a complexidade operacional que vem junto. Evento vira a resposta pra tudo, mesmo quando uma chamada síncrona simples resolveria com menos peça em movimento. Este é um guia direto pelos grandes temas — o que cada um resolve, e o custo que ele cobra em troca.

Microsserviços

É dividir um sistema grande em serviços pequenos, independentes, cada um dono de um pedaço específico do negócio — e do próprio banco de dados. O ganho é poder implantar, escalar e trocar cada pedaço sem mexer no resto. O custo é que agora existe uma rede distribuída no meio do caminho: latência, falhas parciais e consistência deixam de ser detalhe de implementação e viram o problema principal do dia a dia da equipe.

Event-Driven

Em vez de um serviço chamar o outro diretamente e esperar resposta, ele publica um evento — "pedido criado", "pagamento aprovado" — e quem tiver interesse reage, sem que o publicador saiba quem está ouvindo. Isso desacopla os serviços no tempo e na topologia. Em troca, uma chamada síncrona fácil de rastrear vira um fluxo assíncrono que exige observabilidade séria só pra responder "o que aconteceu depois do quê".

Domain-Driven Design (DDD)

DDD é uma forma de modelar software em torno do negócio, não do banco de dados. As ideias centrais: Bounded Context (contexto delimitado) — cada parte do sistema tem seu próprio vocabulário e regras, sem tentar unificar tudo num modelo só —, Aggregate (agregado) — um conjunto de objetos que muda de estado como uma unidade, garantindo consistência —, e Ubiquitous Language (linguagem compartilhada) — o time técnico e o time de negócio usam as mesmas palavras pra falar da mesma coisa. Sem isso, código e negócio divergem com o tempo até ninguém mais confiar no nome das coisas.

Cloud & Infra

É a camada de decisões sobre onde e como o sistema roda: AWS, GCP, Azure, contêineres, redes, políticas de acesso. O conjunto de boas práticas mais citado aqui é o Well-Architected, da AWS, que organiza essas decisões em pilares — confiabilidade, segurança, custo, performance, operação. Na prática, isso significa tratar infraestrutura como decisão de arquitetura desde o início, não como reparo depois que algo quebrou em produção.

Diagramas

C4, PlantUML, Mermaid, sequence diagrams: são formas diferentes de responder à mesma pergunta — "como as peças desse sistema se encaixam?" — em níveis diferentes de zoom. Um diagrama C4 de contexto mostra o sistema visto de fora; um sequence diagram mostra a troca de mensagens entre dois componentes específicos. Escolher o nível de zoom errado é a razão mais comum de diagrama que ninguém entende, ou que ninguém atualiza depois da primeira semana.

ADR (Architecture Decision Record)

É um documento curto que registra uma decisão de arquitetura, o contexto que levou a ela e as alternativas descartadas — e por quê. O valor não está na decisão em si, está na memória do porquê. Sem ADR, seis meses depois alguém propõe reverter uma decisão sem saber que ela já foi tentada e abandonada por um motivo específico — e o time repete o mesmo debate do zero.

Segurança

Mapear ameaças antes que elas aconteçam (threat modeling), confiar em ninguém por padrão (zero-trust) e seguir o catálogo de falhas mais comuns em aplicações web mantido pela fundação OWASP: é a disciplina de assumir que qualquer componente pode ser comprometido, e desenhar o sistema pra limitar o dano quando isso acontecer — não só tentar impedir que aconteça. Zero-trust, em particular, inverte a lógica clássica de "dentro da rede é seguro": cada chamada é verificada, ponto, independente de onde ela parte.

CQRS & Saga

CQRS — sigla de Command Query Responsibility Segregation, ou separação de responsabilidade entre comando e consulta — separa o caminho de escrita do caminho de leitura, cada um otimizado pro seu próprio padrão de uso, em vez de um modelo único tentando servir os dois bem ao mesmo tempo. Saga resolve o problema que aparece quando uma transação precisa atravessar vários serviços: em vez de uma transação distribuída clássica — frágil e lenta —, a saga quebra a operação em passos locais, cada um com uma ação de compensação caso algo dê errado no meio do caminho.

Agentes de IA

Orquestração multi-agente e uso de ferramentas pelo modelo: é a categoria mais nova da lista, e trata de como sistemas de IA decidem e executam ações — não só respondem perguntas. O tema central aqui é o mesmo dos outros oito: dar autonomia sem perder controle sobre o que pode dar errado.

Perguntas frequentes

Preciso conhecer todas essas categorias pra tomar uma boa decisão de arquitetura?

Não preciso conhecer todas em profundidade, mas preciso saber que existem — e reconhecer quando um problema específico pede uma delas. A maioria dos erros de arquitetura vem de aplicar uma técnica fora do contexto em que ela resolve algo, não de desconhecer a técnica em si.

Essas categorias competem entre si ou se combinam?

Se combinam, na prática. Um sistema de microsserviços real quase sempre usa event-driven pra parte da comunicação entre serviços, DDD pra desenhar os limites de cada um, e ADR pra documentar por que cada escolha foi feita daquele jeito.

Qual o fio que conecta todas elas?

Nenhum desses termos é bala de prata. Cada um existe porque resolve um problema específico, e cobra um custo específico em troca. Entender o problema por trás do nome é o que separa usar a técnica certa na hora certa de colecionar modismo em apresentação.

Do conceito à execução

Ferramentas práticas para levar as decisões desta nota ao seu próximo projeto.

12 / selecionados
Cadeia de ataque do incidente Snowflake×Wiz: do PR gerado por IA ao roubo do token Jira via injeção em GitHub Actions.
Segurança
01 / 02

Revisor de Segurança de Patches Gerados por IA (injeção em CI/CD)

por João Gabriel

gpt-4ClaudeGemini
—(0)
0 vendas
R$ 19,90
Da intenção declarada à decisão registrada: o desvio entre o que o time quis e o que o código faz é o achado central.
ADR
01 / 03

Auditor de Intenção Arquitetural: laudo rastreável do código que a IA escreveu

por João Gabriel

gpt-4ClaudeGemini
—(0)
0 vendas
R$ 19,90
Arquitetura geral: Stripe e PayPal conectados via barramento de eventos, com microsserviços downstream, Event Store (Kafka + Schema Registry) e CQRS Read Models.
Event-Driven
01 / 03

ADR de Integração de Plataformas de Pagamento: Event-Driven + Strangler Fig

por João Gabriel

gpt-4gpt-4-turboclaude-3-opus+3
—(0)
0 vendas
R$ 19,90
Modelo de ameaças: as 4 superfícies de ataque em agentes de codificação com IA, inspiradas pelo Cursor 0day e Memory Heist.
ADR
01 / 02

ADR de Adoção de Agentes de Código com Guardrails de Segurança

por João Gabriel

gpt-4claude-3.5-sonnetclaude-4+2
—(0)
0 vendas
R$ 19,90
Memória por recuperação vs. cérebro documental: o mesmo objetivo — dar contexto ao agente — por dois caminhos opostos.
Agentes
01 / 03

Arquiteto de Contexto do Agente: cérebro documental auditável no lugar da memória por RAG

por João Gabriel

gpt-4ClaudeGemini
—(0)
0 vendas
R$ 19,90
O antipadrão: uma chave de plataforma única no gateway multi-tenant gera blast radius global.
Segurança
01 / 03

ADR de Segredos em Multi-Tenant: elimine chaves compartilhadas e reduza o blast radius

por João Gabriel

gpt-4ClaudeGemini
—(0)
0 vendas
R$ 29,90
A política vive fora do agente: o dossiê vira declaração fail-closed, e um mecanismo independente nega o resto mesmo se o agente cooperar com o ataque.
Segurança
01 / 03

Arquiteto de Fronteira de Execução do Agente: política, contenção e provas de escape

por João Gabriel

gpt-4ClaudeGemini
—(0)
0 vendas
R$ 29,90
Camadas de controle de um agente LLM conectado: o usuário instrui um orquestrador que, para qualquer efeito colateral, passa por um gateway de política zero-confiança antes de tocar sistemas OAuth/dados sensíveis (e-mail, cloud, repositórios).
Segurança
01 / 03

Agente LLM Conectado e Seguro: ADR, modelo de ameaças e gates de tool-call

por João Gabriel

gpt-4ClaudeGemini
—(0)
0 vendas
R$ 19,90
A fronteira que se audita: rede, execucao, identidade, dados e monitoramento — cada requisito so vale com um artefato verificavel.
Segurança
01 / 02

Auditor de Contenção de Fornecedor de IA: transforme promessas de sandbox e egress em evidência auditável

por João Gabriel

gpt-4ClaudeGemini
—(0)
0 vendas
R$ 19,90
Fluxo do ataque de supply-chain via npm (incidente Keyv, ago/2026) e a superficie de governanca.
Segurança
01 / 02

ADR de Supply Chain: dependências zero-trust e runbook para pacote comprometido

por João Gabriel

gpt-4ClaudeGemini
—(0)
0 vendas
R$ 19,90
Pipeline de Desenvolvimento Seguro na Era da IA: estágios planejamento→implementação→verificação→entrega com feedback loop e papéis IA/humano.
Segurança
01 / 02

SSDLC na Era da IA: decisões e gates de segurança para times com copilotos

por João Gabriel

gpt-4ClaudeGemini+1
—(0)
0 vendas
R$ 19,90
Arquitetura de agente MCP corporativo: cliente agêntico, servidor MCP HTTP-native, camada de identidade (DPoP/WIF) e catálogo de tools com descoberta progressiva.
Agentes
01 / 03

ADR de Adoção de MCP (Model Context Protocol) na empresa

por João Gabriel

gpt-4ClaudeGemini
—(0)
0 vendas
R$ 19,90