前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >手动实例化Feign代码

手动实例化Feign代码

作者头像
尚浩宇
发布2019-06-20 17:17:30
1.2K0
发布2019-06-20 17:17:30
举报
文章被收录于专栏:杂烩

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

    1、当和consul结合使用时,出现异构调用,此时异构服务无法注册到consul导致调用失败

    2、同一套服务,提供方多个,需根据实际情况选择调用

    3、在做自动化切换环境时

    等等

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

不启用Hystrix

代码语言:javascript
复制
builder=Feign.builder()

启用Hystrix

代码语言:javascript
复制
builder=HystrixFeign.builder();

设置重试机制

代码语言:javascript
复制
//不重试
builder.retryer(Retryer.Default.NEVER_RETRY)
//重试4次
builder.retryer(new Retryer.Default(100, 1000, 4))

设置超时

代码语言:javascript
复制
builder.options(new Request.Options(3 * 1000, 3 * 1000))

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

代码语言:javascript
复制
builder.target(ShortDomainRpc.class, this.shortDomainServerUrl);

设置目标接口(启用Hystrix)

代码语言:javascript
复制
builder..target(ShortDomainRpc.class, this.shortDomainServerUrl, new ShortDomainRpcFallback());

(adsbygoogle = window.adsbygoogle || []).push({});

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档