Spring Cloud手动实例化Feign代码

Feign抽象化HTTP调用,可以以接口的形式调用远程服务,在实际开发中可以避免很多低级错误,比如误传、传错字段,统一响应避免乱适配等等。然而有时候在一些特殊的场景,比如:

1、当和consul结合使用时,出现异构调用,此时异构服务无法注册到consul导致调用失败
2、同一套服务,提供方多个,需根据实际情况选择调用
3、在做自动化切换环境时

等等,此时就不能定死服务URL,需要手动创建Feign实例,以下是常用的代码:

不启用Hystrix

builder = Feign.builder()

启用Hystrix

builder=HystrixFeign.builder();

设置重试机制

//不重试
builder.retryer(Retryer.Default.NEVER_RETRY)
//重试4次
builder.retryer(new Retryer.Default(100, 1000, 4))

设置超时

builder.options(new Request.Options(3 * 1000, 3 * 1000))

设置目标接口(不启用Hystrix)

builder.target(ShortDomainRpc.class, this.shortDomainServerUrl);

设置目标接口(启用Hystrix)

builder.target(ShortDomainRpc.class, this.shortDomainServerUrl, new ShortDomainRpcFallback());
上一篇 Thymeleaf传递数据到js变量
下一篇 Spring Cloud Eureka注册中心服务状态变更
目录
文章列表
1 搭建Harbor企业级Docker仓库
搭建Harbor企业级Docker仓库
2
Jenkins构建vue项目
Jenkins构建vue项目
3
玩转Redis-HyperLogLog原理探索
玩转Redis-HyperLogLog原理探索
4
Maven连接Nexus私服配置
Maven连接Nexus私服配置
5
SpringBoot新特性:节省百分之95﹪内存占用!
SpringBoot新特性:节省百分之95﹪内存占用!
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。