3
了解Spring Cloud Eureka Server的自我保存和续订阈值
我已经开始开发微服务,尽管我已经研究了一段时间,同时阅读了Spring的文档和Netflix的文档。 我已经开始在Github上进行一个简单的项目。它基本上是一个Eureka服务器(Archimedes)和三个Eureka客户端微服务(一个公共API和两个私有)。查看github的自述文件以获取详细描述。 关键是,当一切都在运行时,我希望如果其中一个私有微服务被杀死,Eureka服务器会意识到这一点并将其从注册表中删除。 我在Stackoverflow上发现了这个问题,该解决方案通过enableSelfPreservation:false在Eureka Server配置中使用而得以通过。一段时间后,被取消的服务会按预期消失。 但是我可以看到以下消息: 自我保存模式已关闭。在网络/其他问题的情况下,此设置可能无法保护即时实例。 1.自我保存的目的是什么?该文档指出,通过自我保留,“客户端可以获取不再存在的实例”。那么什么时候建议打开/关闭它呢? 此外,打开自我保存功能后,您可能会在Eureka Server控制台中收到一条警告消息: 紧急!如果不是,EUREKA可能会不正确地提出索赔要求。续订比阈值要少,因此不再只是为了安全起见而立即终止实例。 现在,继续使用Spring Eureka Console。 Lease expiration enabled true/false Renews threshold 5 Renews (last min) 4 我遇到了阈值计数的怪异行为:当我单独启动Eureka Server时,阈值为1。 2.我有一台Eureka服务器,并且配置registerWithEureka: false为防止它在另一台服务器上注册。那么,为什么它会显示在阈值计数中? 3.对于我启动的每个客户,阈值计数都会增加+2。我猜是因为它们每分钟发送2条更新消息,对吗? 4. Eureka服务器从不发送续订,因此最后一次续订始终低于阈值。这正常吗? renew threshold 5 rewnews last min: (client1) +2 + (client2) +2 -> 4 服务器cfg: server: port: ${PORT:8761} eureka: …