springboot+fegin实现负载均衡

 

上一篇文件介绍了使用ribbon实现负载均衡,实现方式是通过配置一个被@LoadBalanced修饰的restTemplate来实现的,下面我们通过fegin来实现负载均衡

1.引入起步依赖

springboot+fegin实现负载均衡_第1张图片

2.配置一个重发请求类,处理请求失败重发策略

springboot+fegin实现负载均衡_第2张图片

3.写一个接口加上@FeignClient注解,用来在请求发起的时候被解析

springboot+fegin实现负载均衡_第3张图片

4.写上对应的controller和service处理相关请求

springboot+fegin实现负载均衡_第4张图片

springboot+fegin实现负载均衡_第5张图片

5.最后在启动类上配置@EnableFeignClients

springboot+fegin实现负载均衡_第6张图片

6.启动服务,多次请求localhost:8765/feign/feignInit,如下结果交替出现

 

总结

( 1) 首先通过@EnableFeignClients 注解开启 Feignclient 的功能。只有这个注解存在,才
会在程序启动时开启对@FeignClient 注解的包扫描
(2 )根据 Feign的规则实现接口,井在接口上面加上@FeignClient
(3 )程序启动后,会进行包扫描,扫描所有的@FeignClient 注解 ,并将这些信息
注入 IoC 容器中。
)当接口的方法被调用时 通过 JDK 的代理来生成 体的RequestTemplate 棋根对象
)根据 RequestTemplate 再生成 Http 请求的Request 对象
( 6 ) Request 对象交给 Client 去处理 其中 Client 的网络请求框架可以是 HttpURLConnection
HttpClient和OkHttp
(7 )最后 Client 被封装到 LoadBalanceClient 类,这个类结合类 Ribbon 做到了负载均衡

 

end

 

转载于:https://www.cnblogs.com/qiuhx/p/10494598.html

你可能感兴趣的:(java,运维)