當前位置:
                    首頁 >
                            前端技术
>                            javascript
>内容正文                
                        
                    javascript
SpringCloud(四)Eureka自我保护机制
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                SpringCloud(四)Eureka自我保护机制
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                Eureka自我保護機制
- 默認情況下,EurekaClient會定時向EurekaServer端發送心跳,如果EurekaServer在一定時間內沒有收到EurekaClient發送的心跳,便會把該實例從注冊服務列表中剔除(默認是90秒),但是在短時間內丟失大量的實例心跳,這時候EurekaServer會開啟自我保護機制,Eureka不會踢出該服務。
- 自我保護模式可以讓集群更加健壯,但是我們在開發測試階段,需要頻繁地重啟發布,如果觸發了保護機制,則舊的服務實例沒有被刪除,這時請求有可能跑到舊的實例中,而該實例已經關閉了,這就導致請求錯誤,影響開發測試
- 圖中我們可以看到 shopping-member做了集群有兩個節點
- Renews threshold:Eureka Server 期望每分鐘收到客戶端實例續約的總數。
- Renews (last min):Eureka Server 最后 1 分鐘收到客戶端實例續約的總數。
當后者(最后一分鐘收到的心跳數)小于前者(心跳閾值)的時候,觸發保護機制,會出現紅色的警告
 
緊急!EUREKA可能錯誤地聲明實例已經啟動,而實際上它們并沒有。續訂低于閾值,因此不會為了安全而終止實例
關閉自我保護機制就會出現圖一中的提示
THE SELF PRESERVATION MODE IS TURNED OFF.THIS MAY NOT PROTECT INSTANCE EXPIRY IN CASE OF NETWORK/OTHER PROBLEMS.
- 自我保存模式是關閉的。當網絡或其他問題發生時,它可能無法保護實例過期。
關閉服務保護機制
- 在開發中因為會頻繁重啟服務,所以建議關閉自我保護機制,但是在生產是不推薦這樣做的
配置Eureka服務端
###服務端口號 server:port: 8100 ###eureka 基本信息配置 spring:application:name: eureka-server eureka:instance:###注冊到eurekaip地址hostname: 127.0.0.1client:serviceUrl:defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/###因為自己是為注冊中心,不需要自己注冊自己register-with-eureka: false###因為自己是為注冊中心,不需要檢索服務fetch-registry: falseserver:# 測試時關閉自我保護機制,保證不可用服務及時踢出enable-self-preservation: false# 每隔兩秒檢測一次eviction-interval-timer-in-ms: 2000配置Eureka客戶端
server:port: 9100 spring:application:name: shopping-member eureka:client:service-url:defaultZone: http://127.0.0.1:8100//eurekaregister-with-eureka: truefetch-registry: trueinstance:###Eureka客戶端向服務端發送心跳的時間間隔,單位為秒(客戶端告訴服務端自己會按照該規則)lease-renewal-interval-in-seconds: 1####Eureka服務端在收到最后一次心跳之后等待的時間上限,單位為秒,超過則剔除(客戶端告訴服務端按照此規則等待自己)lease-expiration-duration-in-seconds: 2這樣在開發環境中我們就能及時剔除死掉的服務
總結
以上是生活随笔為你收集整理的SpringCloud(四)Eureka自我保护机制的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 【多线程】线程池的创建和参数设定
- 下一篇: getservbyname 及 stru
