Feign、Ribbon、Ribbon
1、服务与服务之间通过Feign调用时,调用方的服务调用时间大于服务超时的配置时间时,该服务的调用直接走熔断逻辑,并且将故障的服务信息返回给Hystrix组件,Hystrix组件会根据被
调用服务的熔断情况是否打开熔断器,后面其他服务调用故障的服务的时候,直接会走熔断逻辑,直到故障的服务恢复后,Hystrix才会关闭熔断器。
2、Ribbon收到有服务请求的时候,首先去注册中心拉取注册信息,然后根据所配置策略请求服务表中的其中一个服务。其中会有一些配置,ConnectTimeout(连接超时时间)、
ReadTimeout(处理超时时间)、OkToRetryAllOperations(是否对所有请求进行重试)、MaxAutoRetriesNextSever(切换重试的次数)和MaxAutoRetries(对当前实例的重试次数)。
3、对于服务的超时来说,服务通过Feign进行调用时,如果Hystrix和Ribbon都同时启用的情况下,Feign的超时时间就是他俩超时的总和,如果Hystrix没有启用,则Ribbon 的超时时间就是
Feign的超时时间,而Hystrix的超时时间则依赖于Ribbon的超时时间,其中Ribbon涉及到当前服务的重试次数和切换其他实例的次数,Hystrix的超时时间=Ribbon重试的次数*(超时连接时间加
+处理超时时间),Ribbon的重试次数为:第一次+重试当前服务次数+切换其他实例的次数+(重试当前服务次数*切换其他实例的次数)。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律