Data / External Systems

A camada onde vivem os bancos de dados, caches, sistemas legados e provedores externos que sustentam ou complementam a operação do sistema.

O que esta camada inclui

  • Bancos de dados relacionais
  • Bancos NoSQL
  • Cache como Redis
  • Sistemas legados
  • APIs de terceiros
  • Serviços externos de pagamentos, e-mail ou ERP

Banco de dados por serviço

Em arquiteturas com microsserviços, o recomendável é que cada serviço controle sua persistência.

Isso não significa necessariamente um banco de dados físico distinto em todos os casos, mas sim limites claros de ownership e acesso.

Relacional vs documental

Relacional

Útil quando você precisa de integridade, joins, consistência forte e estruturas transacionais claras.

Documental

Útil quando o modelo é mais flexível ou quando a forma de consulta favorece documentos agregados.

A escolha deve responder ao domínio, não apenas a modismos tecnológicos.

Redis e cache

O Redis pode ser usado para:

  • caching de respostas
  • sessões
  • throttling
  • filas simples em certos contextos

O cache não é a fonte da verdade; é uma otimização.

Sistemas externos

Nem tudo está sob o nosso controle.

É preciso conviver com:

  • ERP
  • gateways de pagamento
  • serviços de e-mail
  • provedores logísticos
  • plataformas legadas

Por isso a arquitetura precisa contemplar adaptadores, tolerância a falhas e tradução de modelos.

Resumo

Esta camada reúne persistência e sistemas externos. É fundamental entender que aqui vivem dependências críticas, mas não a lógica principal do domínio.