springcloud五大组件原理分别是:1、eureka用来简化与服务器的交互、作为轮询负载均衡器,并提供服务的故障切换支持;2、ribbon主要提供客户侧的软件负载均衡算法;3、hystrix能够帮助快速地拒绝对一个操作,即很可能失败,而不是等待操作超时的请求,以保持系统的响应时间;4、zuul好比nginx,反向代理的功能;5、config是静态的。
springcloud五大组件
服务发现—netflix eureka
客服端负载均衡—netflix ribbon
断路器—netflix hystrix
服务网关—netflix zuul
分布式配置—spring cloud config
1、eureka
一个restful服务,用来定位运行在aws地区(region)中的中间层服务。
由2个组件组成:eureka服务器和eureka客户端。
eureka服务器用作服务注册服务器。
eureka客户端是一个java客户端,用来简化与服务器的交互、作为轮询负载均衡器,并提供服务的故障切换支持。
netflix在其生产环境中使用的是另外的客户端,它提供基于流量、资源利用率以及出错状态的加权负载均衡。/
2、ribbon
ribbon,主要提供客户侧的软件负载均衡算法。
ribbon客户端组件提供一系列完善的配置选项,例:连接超时、重试、重试算法等。
ribbon内置可插拔、可定制的负载均衡组件。
下面是用到的一些负载均衡策略:
简单轮询负载均衡
加权响应时间负载均衡
区域感知轮询负载均衡
随机负载均衡
ribbon中还包括下面这些功能:
易于与服务发现组件(比如netflix的eureka)集成
使用archaius完成运行时配置
使用jmx暴露运维指标,使用servo发布
多种可插拔的序列化选择
异步和批处理操作(即将推出)
自动sla框架(即将推出)
系统管理/指标控制台(即将推出)
3、hystrix
断路器能够防止一个应用程序多次试图执行一个操作,即很可能失败,允许它继续而不等待故障恢复或者浪费 cpu周期,而它确定该故障是持久的。
断路器模式也使应用程序能够检测故障是否已经解决。
假如问题貌似已经得到了纠正,应用程序可以尝试调用操作。
断路器增加了灵活性和稳定性,以一个系统,提供稳定性,而系统从故障中恢复,并尽量减少此故障的对性能的影响。
它能够帮助快速地拒绝对一个操作,即很可能失败,而不是等待操作超时(或者不返回)的请求,以保持系统的响应时间。
假如,断路器提高每次改变状态的时间的事件,这个信息能够被用来监测由断路器保护系统的部件的健康状况,或者是以提醒管理员当断路器跳闸,以在打开状态。
流程图
4、zuul
好比nginx,反向代理的功能,但是netflix自己增加了一些配合其他组件的特性。
5、spring cloud config
这个是静态的,要配合spring cloud bus实现动态的配置更新。
以上就是springcloud五大组件原理是什么的详细内容。