SpringColud为开发者提供了在分布式系统(配置管理,服务发现,熔断,路由,微代理,控制总线,一次性token,全局锁,leader选举,分布式session,集群状态)钟快速构建的工具。
先简单阐述下Spring Colud中文社区对四个基础关键组件的描述:
(一)、Spring Colud Config配置中心
Spring Colud Config 就是我们通常意义上的配置中心。Spring Colud Config把应用原本放在本地文件的配置抽取处理,放在中心服务器,本质是配置信息从本地迁移到云端。
Spring Colud Config 分服务端和客户端,服务端负责将git(svn)中存储的配置文件发布成REST接口,客户端从服务端REST接口获取配置。但客户端并不能主动感知到配置的变化,从而主动去获取新的配置,这需要每个客户端通过POST方法出发各自的/refresh。
(二)、Spring Colud Netflix服务发现
Spring Colud Eureka 提供在分布式环境下的服务发现,服务注册的功能。
Spring Colud Netflix, 该项目是Spring Colud的子项目之一,主要内容是对Netflix公司一系列开源产品的包装。
通过一些简单的注解,开发者就可以快速的在应用中配置一下常用模块并构建庞大的分布式系统。它主要提供的模块包括:服务发现(Eureka),断路器(Hystrix),智能路由(Zuul),客户端负载均衡(Ribbon)等。
(三)、Spring Colud Hystrix熔断器
断路器(Cricuit Breaker)是一种能够在远程服务不可用时自动熔断(打开开关),并在远程服务恢复时自动恢复(闭合开关)的设施。
断路器(Cricuit Breaker) 是一种能够在远程服务不可用时自动熔断(打开开关),并在远程服务恢复时自动恢复(闭合开关)的设施,Spring Colud通过Netflix的Hystrix提供断路器,资源隔离与自我修复功能。
(四)、Spring Colud Zuul服务网关