Ribbon首次调用超时及重复请求

在客户端使用Ribbon进行负载聚恒时,第一次调用服务会出现超时的情况,这个因为第一次调用的耗时包含了RibbonClient的初始化创建时间,所以时间会比较长容易出现超时。

方案1:增加Ribbon的超时时间。

# 请求超时时间
ribbon.ReadTimout = 60000
# 连接超时时间
ribbon.ConnectTimeout = 60000
# 同一个实例最大重试次数,不含首次
ribbon.MaxAutoRetries = 0
# 其他实例最大重试次数,不含首次(如果只有一个实例,GET超时会对单个服务调用两遍,有重复调用问题)
ribbon.MaxAutoRetriesNextServer = 1
# 是否所有操作都重试
ribbon.OkToRetryOnAllOperations: false

方案2:官方解决配置,饥饿模式,提前初始化客户端连接。

ribbon.eager-load.enabled = true
ribbon.eager-load.clients = 服务名称,多个用逗号分隔

猜你喜欢

转载自blog.csdn.net/pangfeipangfei/article/details/105806284
今日推荐