我正在测试spring-cloud尤里卡服务器和客户端。 我有一个关于默认配置的简单问题(服务器&客户端)。更新阈值和更新(最后分钟)
在服务器端,更新阈值等于3. 在客户端,它每隔30秒发送一次心跳(每分钟最多2次)。
当我看着注册表仪表盘,当waitTimeInMswhenSyncEmpty
结束后,我看到下面的警告消息:
EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPIRED JUST TO BE SAFE
当我在看代码,测试getNumOfRenewsInLastMin() <= numberOfRenewsPerMinThreshold
总是真(2 <= 3)
为什么是默认配置,这似乎很奇怪,因为它不断产生警告!
如果有谁可以给我一个解释。我想我错过了一些东西......
我看到'numberOfRenewsPerMinThreshold> 0 && getNumOfRenewsInLastMin()> numberOfRenewsPerMinThreshold'。这可以解决'2> 3 = false'。你在看哪里? https://github.com/Netflix/eureka/blob/a54991b8fe121bc39b2b1257b0c57f19ff0ccd30/eureka-core/src/main/java/com/netflix/eureka/registry/PeerAwareInstanceRegistryImpl.java#L465 – spencergibb
请问方法isBelowRenewThresold之间可能存在问题()(这是正确的恕我直言)和FTL用法<#if isBelowRenewThresold>。难道FTL使用的方法会返回一个数字,其中布尔值是预期的吗? –
对不起,请忽略我最后的回答。它似乎工作正常。我的尤里卡控制台告诉我更新(4)确实低于阈值(5)。由于我有2个客户,更新通常是4.最大的问题是,为什么阈值大于预期更新?在这个问题上,这似乎也是这种情况 –