Microservices would have the following characteristics:
- Rest/Graph QL API
- Small deployment units
- Cloud enabled (scaling and reliance)
Spring Cloud
Spring Cloud provides proven solutions for common problems when implementing microservices:
Configuration management
Spring Cloud Config Server and Spring Cloud Bus
Dynamic Scalling
Netflix Eureka – naming server
Netflix Ribbon – client load balancing
Spring Cloud Feing – rest client decorator
Visibility and monitoring
Zipkin – distributed tracing
Netflix Zuul – api gateway
Fault tolerance
Hystrix – latency and fault tolerance library
Architecture example
