A equipe de desenvolvimento do TJPI está migrando
funcionalidades do PJe para uma arquitetura de
microsserviços. Um novo microsserviço, "Cálculo de
Custas", precisa ser criado. Uma operação de negócio,
como o "ajuizamento de uma ação", agora envolve
chamadas a múltiplos serviços: (1) o serviço de
"Protocolo" cria o registro do processo, (2) o serviço de
"Cálculo de Custas" calcula o valor devido, e (3) o serviço
de "Distribuição" atribui o processo a uma vara. Como
garantir a consistência dos dados e a atomicidade dessa
operação distribuída, sabendo que um commit de dois
tempos (2PC) é considerado muito rígido e acopla
fortemente os serviços?