网站建设致谢,河北建设局网站,d84 wordpress,知名的网页设计师作者介绍#xff1a;计算机专业研究生#xff0c;现企业打工人#xff0c;从事Java全栈开发 主要内容#xff1a;技术学习笔记、Java实战项目、项目问题解决记录、AI、简历模板、简历指导、技术交流、论文交流#xff08;SCI论文两篇#xff09; 上点关注下点赞 生活越过… 作者介绍计算机专业研究生现企业打工人从事Java全栈开发 主要内容技术学习笔记、Java实战项目、项目问题解决记录、AI、简历模板、简历指导、技术交流、论文交流SCI论文两篇 上点关注下点赞 生活越过越灿烂 新技术的出现肯定是解决目前存在的不足
存在问题
RestTemplate方式发起远程调用的代码
String forObject restTemplate.getForObject(http://order-service/order/add, String.class);存在下面的问题
代码可读性差编程体验不统一还得需要写url参数复杂URL难以维护
Feign的介绍 定义和使用Feign
场景user-service服务调用order-service服务里的方法
做法
需要在user-service服务中编写order-service的feign客户端 引入依赖 dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-openfeign/artifactIdversion2.2.0.RELEASE/version
/dependency开启自动装配功能 在启动类上面添加EnableFeignClients注解 编写feign客户端
在user-service中新建一个接口内容如下 这个客户端主要是基于SpringMVC的注解来声明远程调用的信息比如
服务名称order-service请求方式GET请求路径/order/add请求参数无返回值类型String
这样Feign就可以帮助我们发送http请求无需自己使用RestTemplate来发送了。 测试 使用Feign客户端代替RestTemplate
总结
使用Feign的步骤
① 引入依赖
② 添加EnableFeignClients注解
③ 编写FeignClient接口
④ 使用FeignClient中定义的方法代替RestTemplate
同时Feign还实现负载均衡可以通过看它的依赖看到ribbon