前言
上篇分析了 OpenFeign
使用 FeignClient
注解来生成 动态代理对象的流程
通过 上篇文章 了解了 OpenFeign
生成动态代理的整个过程,并且知道了它是基于 JDK
动态代理来实现的。这篇文章主要来看看 OpenFeign
是如何基于 ribbon
实现负载均衡的,还会了解到 ribbon
的一些主要对象及运行原理,最后还有一个自定义 ribbon
负载均衡规则的代码案例
在过去使用feign时,会将feign接口单独放在一个包,并在接口类上声明 @FeignClient(name = 服务名)
, 在接口方法上声明 @xxxMapping(接口路径)
,实现者和使用者都会去引入这个包。对于 使用者 来说只需要注入接口类,然后调用对应的方法就能调用到在另一个服务的实现者实现的逻辑
gateway支持多种配置路由的方式,如通过 properties
文件配置、通过接口添加、从注册中心获取等等。不管是在yml文件配置的 routes
节点,还是通过 DiscoveryClient
加载的注册中心的服务,亦或是通过 /gateway/routes/{id}
接口增加的,在网关中都会生成对应一个个 RouteDefinition
,再通过RouteDefinition
生成对应的 route
。