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