Boa noite!
Gostaria de alguma indicação de material ou experiência com uma arquitetura voltada a microserviços.
Até o momento já pesquisei por diversas mídias, mostrando os prós e contras, porém cada material acaba explicando de uma maneira, então não entendi se existe um padrão para esse modelo de arquitetura.
https://github.com/dashersw/cote
No repositório acima eles utilizaram Socket para fazer a comunicação entre os serviços. Pensando em uma grande quantidade de serviços seria viável utilizar essa abordagem, ou via API poderia ser melhor?
Sobre o frontend da aplicação. Em alguns lugares vi uma UI consumindo diversos serviços, e em outras vezes o próprio frontend era quebrado em microserviços. A respeito dessa divisão no frontend alguém já experimentou seguir tal abordagem?
Sobre persistência dos dados. Muitos dos materiais diziam para os serviços terem seus próprios bancos de dados. Imagino que os dados de um serviço serão usados como regra de negócio para outro e vice versa em certas ocasiões, e um banco por serviço poderia tornar isso mais complexo. A ideia é quebrar o microserviço até o ponto dele não depender de maneira alguma sobre outro?
Desde já agradeço a atenção e estou aberto a opiniões.
Atenciosamente,
Alison Cassis