跳到主要内容

【8】Feign超时配置详解及源码分析

文章目录

  • 前言
  • 官网案例
  • 连接超时和读取超时配置
    • 参数说明
  • 配置案例
  • 源码分析
      1. 启动项目
      1. 执行流程
      1. 总结

前言

在之前的文档中,介绍Ribbion原理及基本使用,接下来介绍下其他的一些配置使用。

官网案例

官网入门案例中,有一个客户端的配置文件,这里面就包含了Ribbion 的常用配置项。

# 同一服务上的最大重试次数(不包括第一次重试))
sample-client.ribbon.MaxAutoRetries=1

# 要重试的下一台服务的最大数量(不包括第一台服务)
sample-client.ribbon.MaxAutoRetriesNextServer=1

# 是否可以重试此客户端的所有操作
sample-client.ribbon.OkToRetryOnAllOperations=true

# 刷新服务列表的时间间隔
sample-client.ribbon.ServerListRefreshInterval=2000

# Http 客户端连接超时时间
sample-client.ribbon.ConnectTimeout=3000

# Http 客户端读取超时时间
sample-client.ribbon.ReadTimeout=3000

# 服务初始列表
sample-client.ribbon.listOfServers=www.microsoft.com:80,www.yahoo.com:80,www.google.com:80

客户端配置的格式为:

<clientName>.<nameSpace>.<propertyName>=<value>

各项说明如下:

  • clientName(客户端名称) :也就是对应@FeignClient注解中的名称,Feign 会使用这个名称来标识每一个Http客户端。
  • nameSpace (命名空间)是可配置的,默认情况下是“ribbon”
  • propertyName(属性名): 所有的配置属性可以在CommonClientConfigKey类中查看