Spring Cloud Ribbon 简介
Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix
Ribbon实现。通过Spring
Cloud的封装,可以让我们轻松地将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用。Spring Cloud
Ribbon虽然只是一个工具类框架,它不像服务注册中心、配置中心、API网关那样需要独立部署,但是它几乎存在于每一个Spring
Cloud构建的微服务和基础设施中。因为微服务间的调用,API网关的请求转发等内容,实际上都是通过Ribbon来实现的,包括后续我们将要介绍的Feign,它也是基于Ribbon实现的工具。所以,对Spring
Cloud Ribbon的理解和使用,对于我们使用Spring Cloud来构建微服务非常重要。
Eureka简介
Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。
Hystrix
Hystrix
[hɪst’rɪks],中文含义是豪猪,因其背上长满棘刺,从而拥有了自我保护的能力。本文所说的Hystrix是Netflix开源的一款容错框架,同样具有自我保护能力。为了实现容错和自我保护,下面我们看看Hystrix如何设计和实现的。
Feign简介
Feign是声明式的服务调用工具,我们只需创建一个接口并用注解的方式来配置它,就可以实现对某个服务接口的调用,简化了直接使用RestTemplate来调用服务接口的开发量。Feign具备可插拔的注解支持,同时支持Feign注解、JAX-RS注解及SpringMvc注解。当使用Feign时,Spring
Cloud集成了Ribbon和Eureka以提供负载均衡的服务调用及基于Hystrix的服务容错保护功能。
理解:
OpenFeigin
接口绑定器,一个微服务可以分为Eureka注册中心和微服务请求方和微服务提供方,可以有多个微服务请求方或者多个微服务提供方,OpenFeigin是可以使用OpenFeigin(Value=“XXX”)来绑定微服务,请求方在接口上绑定,可以对应微服务提供方的方法,并且在controller调用,并且OpenFeigin本来就集成了Ribbon因此会自动支持负载均衡,其他OF的细节有,OF默认请求服务是1秒,如果有特殊需要配置超市控制,在联调的时候有需要可以开启OF的日志增强功能并且使用FULL来查看调用的详细日志。
GateWay
异步非堵塞,就是一种路由配置,它可以分为三个部分:Route(路由),Predicate(断言),Filter(过滤),路由可以理解为开始的url,断言可以判断你是否携带了必要的东西,过滤和断言相似不过执行顺序不一样,一般选择配置再yml文件内,为了不暴露端口只暴露对外端口给对方,这也是用GateWay的初衷
Apollo(阿波罗)
是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。