Spring Cloud Framework

Spring Cloud Config

Handles management of application configuration data through a centralised service so that your application configuration is cleanly separated from your deployed microservice, ensuring that any microservice instance brought up has the same configuration. Integrates with Git, Consul and Eureka.

Spring Cloud service discovery

Abstracts from the physical location of where the servers are deployed, consumers invoke business logic using logical name rather a physical location or identification, allows for service registration and deregistration. Spring Cloud service discovery can be implemented using Consul or Netflix Eureka.

Spring Cloud Netflix

Spring Cloud integrates heavily with Netflix open source projects.

Netflix Hystrix and Ribbon

Hystrix implements service client resiliency patters such as the circuit breaker and bulkhead patterns. Project Ribbon simplifies integration with service discovery agents such as Eureka and provides client-side load-balancing of services calls from a service consumer

Netflix Zuul

Provides routing capabilities to microservices application. Is a service gateway that proxies services requests and makes sure that all calls to microservices passthrough a single “entry point” before the target service is invoked in order, this way, enforcing standard service policies such as security authorisations, authentication, content filtering and routing rules.

Spring Cloud Stream

Technology that allows to integrate lightweight message processing into a microservice, in order to use asynchronous event driver communication between services. Spring Cloud Stream can interact with message brokers such as RabbitMQ and Kafka.

Spring Cloud Sleuth

Allows to integrate unique tracking identifiers into HTTP calls and message channels (RabbitMQ, Apache Kafka) withing the application, these tacking numbers, sometimes refereed to as correlation or trace ids allow to trace a transaction between the different layers of the application. Can be combined with aggregation tools such as Papertrail and tracking tools such as Zipkin.

Spring Cloud Security

Authentication and authorization framework that controls who can access the service and what they can do with the service, uses token based security.