Spring Cloud 是一系列框架的有序汇合。它利用 Spring Boot 的开发便利性奇妙地简化了分布式系统基础设施的开发,如服务发现注册、配置核心、音讯总线、负载平衡、断路器、数据监控等,都能够用 Spring Boot 的开发格调做到一键启动和部署。Spring Cloud 并没有反复制作轮子,它只是将各家公司开发的比拟成熟、经得起理论考验的服务框架组合起来,通过 Spring Boot 格调进行再封装屏蔽掉了简单的配置和实现原理,最终给开发者留出了一套简略易懂、易部署和易保护的分布式系统开发工具包。
①. 服务发现——Netflix Eureka
一个 RESTful 服务,用来定位运行在 AWS 地区(Region)中的中间层服务。由两个组件组成:Eureka 服务器和 Eureka 客户端。Eureka 服务器用作服务注册服务器。Eureka 客户端是一个 java 客户端,用来简化与服务器的交互、作为轮询负载均衡器,并提供服务的故障切换反对。Netflix 在其生产环境中应用的是另外的客户端,它提供基于流量、资源利用率以及出错状态的加权负载平衡。
②. 客服端负载平衡——Netflix Ribbon
Ribbon,次要提供客户侧的软件负载平衡算法。Ribbon 客户端组件提供一系列欠缺的配置选项,比方连贯超时、重试、重试算法等。Ribbon 内置可插拔、可定制的负载平衡组件。
③. 断路器——Netflix Hystrix
断路器能够避免一个应用程序屡次试图执行一个操作,即很可能失败,容许它持续而不期待故障复原或者节约 CPU 周期,而它确定该故障是长久的。断路器模式也使应用程序可能检测故障是否曾经解决。如果问题仿佛曾经失去纠正,应用程序能够尝试调用操作。
④. 服务网关——Netflix Zuul
相似 nginx,反向代理的性能,不过 netflix 本人减少了一些配合其余组件的个性。
⑤. 分布式配置——Spring Cloud Config
这个还是动态的,得配合 Spring Cloud Bus 实现动静的配置更新。
关键词:java 培训