文章目录
- 解决Ribbon 第一次调用耗时高的配置
- 超时时间相关参数
- 并发参数
- 重试
- 源码
解决Ribbon 第一次调用耗时高的配置
开启饥饿加载
代码语言:javascript复制# ribbon 饥饿加载 解决第一次耗时多的问题
ribbon:
eager-load:
enabled: true
clients: artisan-pay-center,artisan-product-center # #可以指定多个微服务用逗号分隔
超时时间相关参数
Ribbon 中有两种和时间相关的设置,分别是请求连接的超时时间和请求处理的超时时间,设置规则如下:
代码语言:javascript复制# 请求连接的超时时间
ribbon.ConnectTimeout=2000
# 请求处理的超时时间
ribbon.ReadTimeout=5000
也可以为每个Ribbon客户端设置不同的超时时间, 通过服务名称进行指定:
服务名.ribbon.ConnectTimeout=2000
服务名.ribbon.ReadTimeout=5000
并发参数
代码语言:javascript复制# 最大连接数
ribbon.MaxTotalConnections=500
# 每个host最大连接数
ribbon.MaxConnectionsPerHost=500
重试
代码语言:javascript复制# 每一台服务器重试的次数,不包含首次调用的那一次
ribbon.MaxAutoRetries=1
# 重试的服务器的个数,不包含首次调用的那一台实例
ribbon.MaxAutoRetriesNextServer=2
# 是否对所以的操作进行重试(True 的话 会对post put操作进行重试,存在服务幂等问题)
ribbon.OkToRetryOnAllOperations=true
特别是 OkToRetryOnAllOperations ,注意幂等性问题
源码
https://github.com/yangshangwei/SpringCloudAlibabMaster