ribbon负载机制

ribbon实现了负载均衡,如果访问某服务的A节点超时后,会触发ribbon的重试机制

application.properties,配置文件中的全局设置设置:

ribbon.eureka.enabled=true
ribbon.ReadTimeout=6000 #读取超时
ribbon.ConnectTimeout=6000 #连接超时
ribbon.MaxAutoRetries=1 #重试次数
ribbon.MaxAutoRetriesNextServer=2
ribbon.OkToRetryOnAllOperations=false

ribbon.MaxAutoRetries 设置为1,连接服务器,或者读取数据超时,后准备重试,该重试策略会先尝试再访问该实例,如果失败1次之后才更换实例访问。
ribbon.MaxAutoRetriesNextServer 决定了尝试更换2次实例

如果两次实例访问也失败了,怎么办?请求就失败了?

局部设置

serverid.ribbon.eureka.enabled=true
serverid.ribbon.ReadTimeout=6000 #读取超时
serverid.ribbon.ConnectTimeout=6000 #连接超时
serverid.ribbon.MaxAutoRetries=1 #重试次数
serverid.ribbon.MaxAutoRetriesNextServer=2
serverid.ribbon.OkToRetryOnAllOperations=false

微服务间调用其实走的是http请求,debug了一下默认的ReadTimeout时间为5s,ConnectTimeout时间为2s,

 

posted @ 2018-08-14 12:42  longtengdama  阅读(674)  评论(0编辑  收藏  举报