Não entendi a motivação de ter um projeto para o Eureka e outro para o Gateway.
Não poderia deixar apenas em um projeto? Ou seja Gateway também cumprir a função de registrar os MS's.
Não entendi a motivação de ter um projeto para o Eureka e outro para o Gateway.
Não poderia deixar apenas em um projeto? Ou seja Gateway também cumprir a função de registrar os MS's.
Olá, Victor!
Entendo a sua dúvida e é uma pergunta bem interessante. A ideia de ter o Gateway e o Service Registry (Eureka, no caso) em projetos separados é principalmente por questões de responsabilidades e escalabilidade.
No design de microsserviços, seguimos o princípio da responsabilidade única, onde cada serviço deve ter uma única responsabilidade. O Gateway é responsável por rotear as solicitações para os microsserviços apropriados. Ele atua como um ponto único de entrada para a aplicação, centralizando o acesso aos serviços. Já o Eureka, como um Service Registry, é responsável por manter um registro de todos os microsserviços disponíveis, permitindo que eles se descubram e se comuniquem entre si.
Além disso, ter o Gateway e o Eureka em projetos separados permite que eles sejam escalados independentemente. Isso é especialmente útil em uma arquitetura de microsserviços, onde diferentes serviços podem ter diferentes demandas de recursos. Por exemplo, pode ser necessário escalar o Gateway para lidar com um grande volume de solicitações, enquanto o Eureka pode não precisar de tanta capacidade.
Embora tecnicamente seja possível ter o Gateway e o Eureka no mesmo projeto, isso violaria o princípio da responsabilidade única e poderia levar a problemas de escalabilidade e manutenção no futuro.
Espero ter ajudado e bons estudos!