I've been looking into Spring Cloud Netflix lately. It looks pretty cool. There are libraries for proxy of micro service calls (zuul), service discovery (eureka), and circuit breaker functionality (hystrix) to help with high availability.
https://www.todaysoftmag.com/article/1429/micro-service-discovery-using-netflix-eureka
https://github.com/Qkyrie/spring-boot-netflix-example/tree/part1_eureka
https://dzone.com/articles/the-netflix-stack-using-spring-boot-part-2-hystrix
https://github.com/Netflix/zuul
https://spring.io/guides/gs/service-registration-and-discovery/
https://spring.io/guides/gs/circuit-breaker/
https://spring.io/guides/gs/client-side-load-balancing/