1、介绍
SpringCloud是基于SpringBoot为基础实现的微服务架构风格一站式解决方案,例如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话,集群状态等等。
SpringCloud官网:https://spring.io/projects/spring-cloud
。
SpringCloud是基于SpringBoot为基础实现的,并且有版本的兼容关系,如图:
Netflix公司开发了一系列解决微服务架构问题的组件,且开源并入了SpringCloud生态中,成为了SpringCloud生态中的一个模块,名为SpringCloudNetflix。
SpringCloudNetflix官网:https://spring.io/projects/spring-cloud-netflix
。
2、组件信息
Eureka:主要提供服务自动注册与发现、服务健康状态监管等功能,还提供了一个方便查看管理的后端管理系统界面。
Ribbon:主要提供负载均衡功能。配合Eureka使用,当同一个服务注册多台到Eureka服务器中时,服务间相互远程调用时会启动Ribbon的负载均衡算法调用到某一个服务。
Feign:可以把Rest的请求进行隐藏,像调用本地方法一样进行远程服务接口调用,不用自己再编码url、参数信息等。
Hystrix:Netflix开源的一个延迟和容错库,用于隔离访问远程服务、第三方库,防止出现级联失败。
Zuul:网关,整个系统的请求入口,由Zuul进行安全校验、动态路由分发到指定的服务。