概括而言,springcloud的五大组件包括Netflix Eurek,Netflix Ribbon,Netflix Hystrix,Netflix Zuul和Spring Cloud Config。五个组件分别对应(1)服务发现(2)客服端负载均衡(3)断路器(4)服务网关和(5)分布式配置。各组件分工有别,协调统一。
下面就来具体说说五大组件具体功能。
Netflix Eurek是一个RESTful服务,它由Eureka服务器和Eureka客户端组成,前者用作服务注册服务器,后者是java客户端,简化与服务器的交互,同时负载均衡。
Netflix Ribbon主要为客户一侧提供软件负载均衡算法,客户端组件包括连接超时、重试、重试算法等等,并带有可插拔/定制的负载均衡组件策略,并集成一些功能,比如使用Archaius完成运行时配置。
断路器Netflix Hystrix用来防止某个应用程序多次试图执行一个操作,这样不会浪费 CPU周期、或不等待故障修复而重复执行,它为系统增加了灵活和稳定,可以保护系统部件的健康状态;断路器也能检测到是否已解决了故障,控制故障范围,当故障解除后再允许应用程序重新尝试调用操作。
Netflix Zuul与nginx比较相似,属于api网关功能,可以概括为反向代理,但Netflix还为其新增了一些特性用于配合其他组件协调运行;而Spring Cloud Config主要负责配置管理,包括服务器端和客户端,由于Config是静态的,它需要配合Spring Cloud Bus才能实现动态配置的更新。
以上就是springcloud五大组件的基本介绍。