Spring Cloud Alibaba - 09 Ribbon 饥饿加载及其他配置参数解读

2022-02-03 16:03:29 浏览数 (1)

文章目录

  • 解决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

0 人点赞