Estamos migrando um aplicativo monolítico para a arquitetura de microsserviço. Devido a alguns requisitos regulamentares, precisamos manter os dados do cliente de diferentes países em bancos de dados separados (específicos do país). Ou seja, EUA db para clientes nos EUA, UK db para clientes no Reino Unido ...
Os seguintes projetos que estamos considerando são os seguintes:
Opção 1: um aplicativo multilocatário com suporte a hibernação multilocatário que pode ser escalado para N número de vezes que depende da demanda (pense nos pods do kubernetes). Uma única instância deste aplicativo poderá se conectar a todos os bancos de dados.
Opção 2: implantar 1 instância de microsserviço por banco de dados do país. Com um gateway de API na frente deles, roteando o tráfego
Se você projetasse esse tipo de sistema, quais seriam suas escolhas?