在做练习的时候不禁思考了下:openfeign都做了哪些事?
扫描客户端
负载均衡(选择服务器)
服务发现
执行服务调用
总体来说openfeign做了三件事:服务发现->负载均衡->服务调用
那么:openfeign的到底是啷个实现原理?
下面是openfeign实现的图解:
根据图例简要表述:
首先,扫描指定包下的类文件,注册 @FeignClient 注解修饰的接口类信息 ,并借助动态代理生成实现类。
其次,通过反射读取 @FeignClient 注解的属性值,也就是服务名,并执行服务发现。
然后,集成ribbon的负载均衡器实现负载均衡。
最后,获取请求路径、参数等配置信息,通过反射读取到SpringMVC的注解获得服务调用,并且通过序列化反序列化,发送请求获得相应,最终返回数据。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)