Qual é a diferença entre contratos geridos pelo consumidor (Consumer Driven Contracts) e contratos geridos pelo produtor (Producer Driven Contracts)?
sobes.tech IA
Resposta da IA
Quando se trata de Contratos Impulsionados pelo Consumidor (CDC), o consumidor define o formato de dados que espera do serviço e cria um contrato (especificação de expectativas). O fornecedor usa esse contrato para verificar se seu serviço atende aos requisitos do consumidor.
Nos Contratos Impulsionados pelo Produtor (PDC), o fornecedor do serviço define o formato de dados fornecido pelo seu serviço e cria um contrato. Depois, o consumidor usa esse contrato para garantir que pode trabalhar corretamente com os dados fornecidos pelo produtor.
A principal diferença está em quem inicia a criação e gestão do contrato e, consequentemente, quem tem a responsabilidade principal de mantê-lo atualizado de acordo com suas necessidades/possibilidades.
Comparação:
| Aspecto | Contratos Impulsionados pelo Consumidor (CDC) | Contratos Impulsionados pelo Produtor (PDC) |
|---|---|---|
| Iniciador | Consumidor | Produtor |
| Responsabilidade pela atualidade | Consumidor (para suas necessidades) e Produtor (para conformidade) | Produtor |
| Objetivo principal | Garantir que o serviço atenda às necessidades do consumidor | Garantir que os consumidores possam usar o serviço |
| Mudança de risco | Redução do risco de falha para o consumidor quando o serviço muda | Redução do risco de falha para o produtor quando o consumidor muda |
O CDC é mais adequado para arquiteturas de microsserviços ou quando um produtor tem múltiplos consumidores com requisitos diferentes. O PDC é conveniente quando o produtor domina ou quando o serviço é unificado e utilizado por muitos consumidores de forma uniforme.