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());
版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/03/11/spring-cloud-manually-instantiates-feign/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。
THE END
0
二维码
打赏
海报
Spring Cloud手动实例化Feign代码
Feign抽象化HTTP调用,可以以接口的形式调用远程服务,在实际开发中可以避免很多低级错误,比如误传、传错字段,统一响应避免乱适配等等。然而有时候在一些特……
文章目录
关闭
共有 0 条评论