User service requests an endpoint from Department service using RestTemplate.
Microservices, cloud config, cloud gateway, hystrix dashboard register to eureka server which manages their endpoints.
Cloud gateway configures paths, circuit breaker fallback method uris (hystrix), hystrix stream.
Hystrix dashboard accepts http:(host):(port)/hystrix.stream and monitors gateway specified route services.
Cloud config server references a github repo for service registry in bootstrap.yaml file of services.
Zipkin was not used as Sleuth log tracking for user and department service was sufficient.
Ribbon load balancer and Zuul api gateway were not implemented for a simple project since they do the same thing. Perhaps can be implemented for complex configurations.
Hystrix dashboard is unable to recognize media stream despite different config attempts. If you know a solution that works for you, please reply in the issue.
Installations:
- jdk 1.8
- maven 3.8.6
- STS 4
Run all in STS: registry, gateway, config-server, user-service, department-service, hystrix-dashboard - all in that order.