![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring cloud
文章平均质量分 74
三颗青菜
这个作者很懒,什么都没留下…
展开
-
【feign源码】流程分析
Feign的接口和Mybatis的接口相似,都是通过FactoryBean实现了spring整合的,那么扫包的就不再分析了,直接看FactoryBean–FeignClientFactoryBean @Override public Object getObject() throws Exception { return getTarget(); } <T> T getTarget() { FeignContext context = this.applicationConte原创 2021-09-09 17:15:35 · 189 阅读 · 0 评论 -
【Feign源码】解析方法的类--Contract
根据每个方法解析出方法的原信息该接口的作用就是解析类中的方法。每个方法解析为MethodMetadata。public interface Contract { /** * Contract 提供接口,feign的原生实现是BaseContract,整合spring使用的是SpringMvcContract */ // TODO: break this and correct spelling at some point List<MethodMetadata> p原创 2021-09-09 10:55:42 · 616 阅读 · 0 评论 -
【Feign源码】保存请求数据的载体--Template
请求数据的保存是使用Template实现的。如下图所示,每个请求的部分都是一个Template。父类Template属性 // 用来区分查询参数的正则 private static final Pattern QUERY_STRING_PATTERN = Pattern.compile("(?<!\\{)(\\?)"); // 原始字符串 private final String template; // 允许不解析,当没有合适的值时,可以不解析 private fina原创 2021-09-07 17:12:29 · 963 阅读 · 1 评论 -
Springcloud学习系列之Ribbon自定义负载均衡规则
在springcloud中,使用的是ribbon来解决负载均很的问题,而常见的负载均衡策略包括有:轮询,随机, 一致性哈希,哈希,加权。在ribbon中提供了ILoadBalance接口用来代表负责均衡的操作,它提供了增加服务器,选择服务器,标记服务器状态为down,获得可用服务器以及获得所有服务器的操作。public interface ILoadBalancer { ...转载 2020-04-15 21:21:36 · 394 阅读 · 0 评论