O serviço de Pedidos e o serviço de Faturamento — de dois times diferentes — leem e escrevem no mesmo banco compartilhado. Uma mudança de schema por um time quebra o outro, e o banco é ponto único de falha para ambos. Desacople a propriedade dos dados.
Um banco compartilhado acopla serviços: qualquer mudança de schema força coordenação entre times, e o banco é um ponto único de falha compartilhado. Database-per-service dá a cada serviço propriedade exclusiva dos seus dados, então os times fazem deploy de forma independente. Leituras cross-service passam por APIs ou eventos. O trade-off é consistência distribuída e alguma duplicação controlada de dados.
Os critérios e pesos de avaliação serão revelados após você enviar sua solução. Isso garante uma avaliação justa de suas habilidades de design.
Desenhe seu diagrama de arquitetura, explique suas decisões de design e receba feedback gerado por IA.
Para a melhor experiência, faça os desafios em um computador ou tablet — desenhar a arquitetura no celular é difícil.