spring cloud微服务分布式云架构-Spring Cloud 分布式的五大重点

时间:2019-03-19
本文章向大家介绍spring cloud微服务分布式云架构-Spring Cloud 分布式的五大重点,主要包括spring cloud微服务分布式云架构-Spring Cloud 分布式的五大重点使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

SpringCloud分布式的五大重点的基本介绍

服务器的注册与发现—Netflix Eureka

客户端负载均衡—Netflix Ribbon

断路器—Netflix Hystrix

服务网关—Netflix Zuui

分布式配置—Spring Cloud Config

Spring Cloud大型企业分布式微服务云架构源码请加一七九一七四三三八零

Eureka:

一个RESTful服务,用来定位运行在AWS地区(Region)中的中间层服务。

它由两个组件组成:Eureka服务器和Eureka客户端。

1. Eureka服务器用作服务注册服务器。

2. Eureka客户端是一个java客户端,用来简化与服务器的交互、作为轮询负载均衡器,并提供服务的故障切换支持。

Netflix在其生产环境中使用的是另外的客户端,它提供基于流量、资源利用率以及出错状态的加权负载均衡。

Ribbon

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

Ribbon客户端组件提供一系列完善的配置选项,比如连接超时、重试、重试算法等。

Ribbon内置可插拔、可定制的负载均衡组件。

一些常用的负载均衡策略:

1. 简单轮询负载均衡

2. 加权响应时间负载均衡

3. 区域感知轮询负载均衡

4. 随机负载均衡

Ribbon中还包括一下功能:

1. 易于与服务发现组件(比如Netflix的Eureka)集成

2. 使用Archaius完成运行时配置

3. 使用JMX暴露运维指标,使用Servo发布

4. 多种可插拔的序列化选择

5. 异步和批处理操作(即将推出)

6. 自动SLA框架(即将推出)

7. 系统管理/指标控制台(即将推出)

Hystrix

断路器可以防止一个应用程序多次试图执行一个操作,即很可能失败,允许它继续而不等待故障恢复或者浪费 CPU 周期,而它确定该故障是持久的.

断路器模式也使应用程序能够检测故障是否已经解决。如果问题似乎已经得到纠正​​,应用程序可以尝试调用操作。

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

Zuui

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

Spring Cloud Config

SpringCloudConfig就是我们通常意义上的分布式配置中心,把应用原本放在本地文件的配置抽取出来放在中心服务器,从而能够提供更好的管理、 发布能力。

SpringCloudConfig分为服务端和客户端,服务端负责将git(svn)中存储的配置文件发布成REST接口,客户端可以从服务端REST接口获取配置。但客户端并不能主动感知到配置的变化,从而主动去获取新的配置, 它需要每个客户端通过POST方法触发各自的/refresh,SpringCloudBus就通过一个轻量级消息代理连接分布式系统的节点。

可以用于广播状态更改(如配置更改)或其他管理指令。

SpringCloudBus提供了通过POST方法访问的endpoint/bus/refresh,这个接口通常由git的钩子功能调用,用以通知各个SpringCloudConfig的客户端去服务端更新配置。