文章目录
上一节学习了注册中心,我们知道服务器A调用服务器B之前,会从注册中心获取到服务B的IP,然后服务器A向服务B发出请求。
那么服务器A是怎么向服务B发出请求的呢?
这是本节要解决的主要问题。
在这个项目中,采用OpenFeign这个组件完成服务间的调用,OpenFeign是对Http请求的封装。
一,OpenFeign的简介
OpenFeign是一个声明式的 HTTP 客户端,它的目的就是让远程调用更加简单。
Feign 提供了HTTP请求的模板,通过编写简单的接口和插入注解,就可以定义好 HTTP 请求的参数、格式、地址等信息。
Feign 整合了 Ribbon(负载均衡)和 Hystrix(服务熔断),可以让我们不再需要显式地使用这两个组件。
SpringCloudFeign 在 NetflixFeign 的基础上扩展了对 SpringMVC 注解的支持,在其实现下,我们只需创建一个接口并用注解的方式来配置它,即可完成对服务提供方的接口绑定。简化了SpringCloudRibbon 自行封装服务调用客户端的开发量。
二,OpenFeign的使用步骤
1,场景说明
我们以一个场景化的问题学习OpenFeign的使用,假设会员服务
要调用优惠券服务
的一个接口,这个接口返回了会员的能使用的优惠券信息。
这个优惠券的接口如下,这是一个用来测试的接口,没有真实的业务逻辑。
@RequestMapping("member/list")
public R list(){
CouponEntity couponEntity = new CouponEntity()