Um projeto simples, com CRUD de Cidade e Estado, para testar a criação de microserviços com Spring Cloud e Netflix OSS.
Arquivo de configuração centralizado para os clientes, contendo informações como: Conexão com banco de dados e endereço do servidor Eureka.
Serviço que irá obter as informações do projeto acima (application-config), onde os clientes se conectam via HTTP e recebem suas configurações.
O Eureka é utilizado como "Service Discovery"
Serviço com as operaçoes CRUD para a entidade State
Serviço com as operaçoes CRUD para a entidade City
Provê um acesso simplificado para os clientes (state e city), enviando requisições para o verdadeiro servidor, como um proxy reverso.
Para subir os projetos, pode-se importar os mesmos no STS (Spring Tool Suite) ou pelo comando mvn spring-boot:run
.
-
Subir os projetos:
- eureka-server (porta 8010)
- config-server (porta 8001)
- Alterar o endereço do GIT no arquivo application.yml
-
Acessar http://localhost:8010 (caso não tenha alterado a porta)
- Irá aparecer informações do Eureka, verificar que não contém nenhum serviço conectado
-
Subir os projetos:
- city-service e o state-service
-
Acessar novamente o Eureka e verificar que irá aparecer dois clientes conectados com portas aleatórias, por exemplo:
- state-service: localhost:42563
- city-service: localhost:55425
- Se parar esses serviços e iniciar novamente, verificar que irá utilizar outra porta.
-
Subir o projeto api-gateway
- Verificar o Eureka, mais um cliente conectado.
- Fazer operaçoes via POSTMAN com as URL's http://localhost:8080/state e http://localhost:8080/city
- Onde: localhost:8080 é a porta utilizada pelo Zuul e /state e /city é o mapeamento realizado no api-gateway.