![Spring Eureka服务器显示续订量少于阈值[重复],第1张 Spring Eureka服务器显示续订量少于阈值[重复],第1张](/aiimages/Spring+Eureka%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%98%BE%E7%A4%BA%E7%BB%AD%E8%AE%A2%E9%87%8F%E5%B0%91%E4%BA%8E%E9%98%88%E5%80%BC%5B%E9%87%8D%E5%A4%8D%5D.png)
我遇到的问题与@prependent遇到的问题相同,我在Google上搜索了很多并做了一些实验,在这里我来贡献一些关于Eureka服务器和实例如何工作的知识。
每个实例都需要以每30秒1次的频率将其租约续签到Eureka
Server,可以在中定义
eureka.instance.leaseRenewalIntervalInSeconds。
更新(最后一分钟) :表示在最后一分钟从尤里卡实例收到的更新数
续订阈值 :Eureka服务器期望每分钟从Eureka实例收到的续订。
例如,如果
registerWithEureka将if 设置为 false
,
eureka.instance.leaseRenewalIntervalInSeconds则将其设置为30并运行2个Eureka实例。两个Eureka实例将每分钟向Eureka服务器发送
4个 续订,Eureka服务器的最小阈值为 1 (用代码编写),因此该阈值为 5
(此数字将乘以一个因子
eureka.server.renewalPercentThreshold,稍后将进行讨论)。
自保存模式 :如果“ 续订”(最后一个分钟) 小于“ 续订”阈值 ,则将激活自保存模式。
因此在上例中,由于阈值为5,所以激活了SELF PRESERVATION MODE,但是Eureka服务器每分钟只能接收4次更新。
- 问题1:
“自我保护模式”旨在避免不良的网络连接失败。Eureka实例A和B之间的连通性很好,但是B由于连接中断而未能在短时间内将其租约续签到Eureka服务器,此时Eureka服务器不能简单地将实例B踢出去。尽管B可用,但A不会从Eureka服务器获得可用的注册服务。因此,这是自保存模式的目的,最好将其打开。
- 问题2:
最小阈值1写入代码中。
registerWithEureka设置为false,因此将没有Eureka实例寄存器,阈值为1。
在生产环境中,通常我们部署两个Eureka服务器,
registerWithEureka并将其设置为true。因此,阈值将为2,Eureka服务器将每分钟两次向其续订租约,因此
RENEWALSARE LESSER THAN THRESHOLD不会有问题。
- 问题3:
是的,你是对的。
eureka.instance.leaseRenewalIntervalInSeconds定义每分钟发送到服务器的续订数量,但是它将乘以上述系数
eureka.server.renewalPercentThreshold,默认值为0.85。
- 问题4:
是的,这很正常,因为阈值初始值设置为1。因此,如果
registerWithEureka将其设置为false,则续订始终低于阈值。
我对此有两个建议:
- 部署两个Eureka服务器并启用
registerWithEureka
。 - 如果只想在演示/开发环境中进行部署,则可以将其设置
eureka.server.renewalPercentThreshold
为0.49,因此,当单独启动Eureka服务器时,阈值将为0。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)