Pular para o conteúdo principal

Arquitetura de Integração

Todo sistema de porte real conversa com outros. O que se decide aqui determina quão independentemente as partes podem evoluir.

O problema desta seção

A discussão de integração quase sempre começa pelo protocolo — REST ou gRPC, fila ou chamada direta — como se fosse uma escolha de tecnologia. Não é. É uma escolha de acoplamento.

Uma chamada síncrona acopla no tempo: se o outro lado está fora, você está fora. Uma fila desacopla no tempo e acopla no formato da mensagem. Um evento publicado desacopla dos consumidores e acopla você à estabilidade do próprio evento, que agora é contrato público.

Nenhuma dessas opções remove acoplamento. Elas escolhem onde ele fica. A pergunta útil não é qual protocolo é melhor, e sim qual acoplamento você consegue sustentar.

O que você vai encontrar aqui

Estilos síncronos. REST, GraphQL e gRPC. As diferenças que importam de fato — formato de contrato, evolução, streaming, custo de depuração — em vez da comparação superficial de desempenho.

Estilos assíncronos. Mensageria, arquitetura orientada a eventos e webhooks. Quando inverter o controle e o que isso cobra em observabilidade.

Integração em lote. Batch e integração por arquivo. Frequentemente descartadas como legado; frequentemente a resposta correta, especialmente entre organizações.

Infraestrutura de integração. API gateways e service mesh. O que cada um resolve e o que acontece quando viram o lugar onde a lógica de negócio se esconde.

Padrões corporativos. Enterprise integration patterns e anti-corruption layer — a defesa contra deixar o modelo de outro sistema vazar para dentro do seu.

Contratos. Contratos de integração e evolução de schema. Esta é a parte que determina se a integração sobrevive ao segundo ano.

Ordem de leitura

Leia contratos e evolução de schema primeiro, antes de qualquer protocolo. Todo o resto é consequência de como você pretende versionar e quebrar compatibilidade.

Depois, síncrono e assíncrono em bloco, para comparar. E anti-corruption layer logo em seguida, porque é o padrão que mais frequentemente falta em integrações com sistemas que você não controla.

Ao terminar

Você escolhe estilo de integração declarando qual acoplamento está aceitando e por quê. Consegue evoluir um contrato sem quebrar consumidores, e sabe dizer quando quebrar é inevitável e como conduzir isso.

E reconhece, num desenho de integração, o ponto onde uma falha em um sistema vai derrubar três outros.

Relacionado

Sistemas Distribuídos para as garantias de entrega, e Confiabilidade para conter a propagação de falha.