网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
2、服务提供者Server-02暴露REST端点:
3、声明RestTemplate bean,并且添加注解@LoadBalanced,这个注解会告诉Spring Boot这个RestTemplate需要具有通过Ribbon查找服务的能力,我这里因为演示所以在启动类中声明。
4、服务消费者Consumer通过RestTemplate消费服务代码: 这里服务提供者有两个,我们借助Ribbon和Eureka客户端可以实现服务的发现和负载均衡,注意服务地址不再硬编码,而是编写成服务提供者注册在Eureka上的服务名称server(不区分大小写)。
5、通过任意Http客户端请求Consumer提供的/consumer端点,不断刷新请求,可以看到RestTemplate 会依次轮训Server-01和Server-02
2.3 Feign Client
1、导入依赖
2、添加配置类启动Feign Client,可以直接在启动类上配置
3、定义Feign接口
这个接口定义完成,不需要实现类。在Spring boot运行时,当Feign发现了这个接口,Feign会自动创建一个实现类并将其暴露为Spring应用上下文中的bean
4、通过Feign客户端接口发送请求 注入Feign接口,可以直接调用接口中的方法(具体实现由Feign完成)即可发起请求。
5、通过任意Http客户端请求Consumer提供的/consumer端点,不断刷新请求,可以看到Feign Client会依次轮训Server-01和Server-02
2.4 总结
这篇文章入门了Feign,也顺带讲了下RestTemplate的简单使用。需要注意的是Fegin它并不负责解析服务名、负载均衡,这些都是其集成的Ribbon实现的。Feign可以替代RestTemplate,相比之下代码的可读性确实增强了,但是整体性能是有些许下降的。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!