我正在測試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.最大的問題是,爲什麼閾值大於預期更新?在這個問題上,這似乎也是這種情況 –