基于Feign的远程服务调用

概念

Feign 是一种声明式Web服务客户端,底层封装了对Rest技术的应用,通过Feign可以简化服务消费方对远程服务提供方法的调用实现。如图所示:

 使用步骤

第一步:在服务消费方,添加项目依赖(SpringCloud团队基于OpenFeign研发了starter)

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

第二步:在启动类上添加@EnableFeignClients注解

* 该注解描述启动类,会在启动类启动时,扫描使用@FeignClients注解描述的接口

第三步:定义Http请求API,基于此API借助OpenFeign访问远端服务

@FeignClient(name="sca-provider")//sca-provider为服务提供者名称
public interface RemoteProviderService{
    @GetMapping("/provider/echo/{string}")//前提是远端需要有这个服务
    public String echoMessage(@PathVariable("string") String string);
}

@FeignClient为接口创建实现类对象(这个实现类我们称之为代理对象),此对象内部会封装对远程服务调用的过程

* @FeignClient注解中name属性的值有两个层面的含义:
            1)RemoteProviderService接口类型对象交给Spring管理时,这个对象(bean)的名字
            2)远程调用服务名

* @FeignClient注解中contextId属性的作用是将Bean对象交给spring管理时起一个新的名字

* @FeignClient注解中fallbackFactory属性的作用是当调用的服务突然不可用或调用超时,
        Feign应用中通过FallbackFactory接口的实现类进行默认的处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值