Spring Cloud 基于Spring Boot开发,实现RESTful 接口。
Spring Cloud Netflix 各种套件已实现Spring Cloud 各种功能。主要记录Spring Cloud 2.0 Maven artifactId。
服务治理
服务发现服务端:spring-cloud-starter-netflix-eureka-server 实现服务注册中心,注册中心可实现高可用性。
服务发现客服端:spring-cloud-starter-netflix-eureka-client 实现服务注册与发现,注册服务提供者,对外提供服务。
客服端负责均衡
spring-cloud-starter-netflix-ribbon
将面向服务的请求自动转换成客户端负责均衡的服务调用。硬件负责均衡设备如:F5,软件负责均衡如:nginx、LVS等等,Ribbon类似工具集成在各个套件中。
服务容错保护
spring-cloud-starter-netflix-hystrix
类似于断路器,一种开关装置,当某个服务单元发送故障之后,通过断路器的故障监控,向调用方返回一个错误响应,而不是长时间的等待。这样就不会使得线程因调用故障服务被长时间占用不释放,避免故障在分布式系统中的蔓延。
声明式服务调用
spring-cloud-starter-openfeign
不属于Netflix套件,主要是为简化每次调用服务过程中需要重复写调用模板代码,通过接口方式,可以同时满足服务方和消费方代码一致。
网关服务
spring-cloud-starter-netflix-zuul
可以实现路径与URL映射关系设置路由规则,面向服务的路由。
网关服务可以实现对请求过滤,
分布式配置中心
spring-cloud-starter-config