https://blog.stackademic.com/building-microservices-with-spring-boot-and-java-scalable-and-resilient-architecture-e32e9fa74772