Como ficaria em aplicação em micro serviço, já que cada serviço possui seu banco, caso exista uma tabela compartilhada entre os serviços? Criaria um micro-serviço shared?
Como ficaria em aplicação em micro serviço, já que cada serviço possui seu banco, caso exista uma tabela compartilhada entre os serviços? Criaria um micro-serviço shared?
O microservice que precisar consultar alguma informação da base de dados de outro microservice pode realizar essa chamada via uma API
O que você está apontando é um possível problema de modelagem. Um exemplo facilitaria dar uma resposta mais precisa para te ajudar na sua dúvida.
O que quero dizer, se em boas praticas não é comum ter algo shared.... Se tem algo shared quer dizer que a modelagem então esta errada? Em aplicações grandes talvez nem sempre conseguiríamos isolar todas as tabelas em um contexto de um determinado micro serviço, por exemplo, tabelas de entidades fracas como Cidade e UF, criaríamos um micro serviço "útil" (shared)?
Entendi! Caso vários microsserviços precisem dessas informações, faz sentido você separar em um microsserviço. Apenas recomendaria um nome mais específico para esse microsserviço. Chamar de útil ou shared pode te gerar problemas no futuro.
Qual é a boa pratica de nomes neste caso?
Bom, eu tento procurar nomes que revelem a intenção daquela funcionalidade dentro dos termos utilizados no modelo de domínio.
Como que ficaria algo que é compartilhado por todos ou a maioria dos dominios?
Essa é uma boa pergunta. A minha opinião eh que, nesse caso, isso não eh um microsserviço. Um microsserviço sempre implementa uma funcionalidade dentro de um modelo de domínio. O seu caso se assemelha a algo como um servidor de FTP, Dhcp, cache, Service Discovery etc. São serviços que estão disponíveis para as aplicações, mas que não fazem parte do modelo de domínio destas. Todavia, todos esses serviços são bem nomeados. Seus nomes expressam bem o serviço que eles prestam. Procure um nome assim e acho que vc não terá problemas.