Spring Cloud为开发人员提供了快速构建分布式系统中的一些通用模式(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁,领导选举,分布式 会话,群集状态)。 分布式系统的协调导致了锅炉板模式,并且使用Spring Cloud开发人员可以快速地站起来实现这些模式的服务和应用程序。 它们可以在任何分布式环境中正常工作,包括开发人员自己的笔记本电脑,裸机数据中心和受管平台,如Cloud Foundry。

中文文档:https://springcloud.cc/

官方文档:http://projects.spring.io/spring-cloud/#quick-start

截止发表这内容时,springcloud官方最新版本是Camden.SR2,springcloud的版本名称很奇怪,它是按照伦敦地铁站的名称由a-z排序进行命名。

高深的内容我也不说太多,这里我只说下springcloud中常用的组件 
- 服务发现——Netflix Eureka 
- 客服端负载均衡——Netflix Ribbon 
- 断路器——Netflix Hystrix 
- 服务网关——Netflix Zuul 
- 分布式配置——Spring Cloud Config

Eureka

image

一个RESTful服务,用来定位运行在AWS地区(Region)中的中间层服务。由两个组件组成:Eureka服务器和Eureka客户端。 Eureka服务器用作服务注册服务器。Eureka客户端是一个Java客户端,用来简化与服务器的交互、作为轮询负载均衡器,并提供服务的故障切换支 持。Netflix在其生产环境中使用的是另外的客户端,它提供基于流量、资源利用率以及出错状态的加权负载均衡。

Ribbon

Ribbon,主要提供客户侧的软件负载均衡算法

image

Ribbon客户端组件提供一系列完善的配置选项,比如连接超时、重试、重试算法等。Ribbon内置可插拔、可定制的负载均衡组件。下面是用到的一些负载均衡策略: 
- 简单轮询负载均衡 
- 加权响应时间负载均衡 
- 区域感知轮询负载均衡 
- 随机负载均衡

Ribbon中还包括以下功能: 
- 易于与服务发现组件(比如Netflix的Eureka)集成 
- 使用Archaius完成运行时配置 
- 使用JMX暴露运维指标,使用Servo发布 
- 多种可插拔的序列化选择 
- 异步和批处理操作(即将推出) 
- 自动SLA框架(即将推出) 
- 系统管理/指标控制台(即将推出)

Hystrix

image

断路器可以防止一个应用程序多次试图执行一个操作,即很可能失败,允许它继续而不等待故障恢复或者浪费 CPU 周期,而它确定该故障是持久的。断路器模式也使应用程序能够检测故障是否已经解决。如果问题似乎已经得到纠正,应用程序可以尝试调用操作。

image

断路器增加了稳定性和灵活性,以一个系统,提供稳定性,而系统从故障中恢复,并尽量减少此故障的对性能的影响。它可以帮助快速地拒绝对一个操作,即 很可能失败,而不是等待操作超时(或者不返回)的请求,以保持系统的响应时间。如果断路器提高每次改变状态的时间的事件,该信息可以被用来监测由断路器保 护系统的部件的健康状况,或以提醒管理员当断路器跳闸,以在打开状态。

image

流程图

image

Zuul

image

类似nginx,反向代理的功能,不过netflix自己增加了一些配合其他组件的特性。

Spring Cloud Config

image

这里主要列举了一些常见的组件,更多的等待发掘。


没有登录不能评论