关闭Eureka的服务自我保护
生活随笔
收集整理的這篇文章主要介紹了
关闭Eureka的服务自我保护
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我們講解了Eureka當中的自我保護,我們看如何關閉自我保護,這個自我保護是誰來完成的,由我們Eureka Server來完成的,所以我們需要在Eureka Server的配置文件當中,添加兩個配置,這兩個配置是什么意思呢,是自我保護的一個配置,這個key是必須這么寫的,然后這個key對應的是一個布爾類型值eureka.server.enableSelfPreservation=falsetrue表示什么呢,表示開啟自我保護,默認的就是開啟自我保護,false為關閉自我保護,就是Eureka對注冊的服務關閉時,需要將value改成false,第二個就是清理間隔,清理間隔是什么意思呢,就是從服務列表當中,刪除時間的一個設置,單位是毫秒eureka.server.eviction.interval-timer-in-ms=60000默認的是60*1000,也就是說一分鐘,那么我們剛才也看到了,這里我也說了,90秒后,如果沒有心跳包的話,可實際上他沒有刪除,從我們的管理頁面的列表當中,把這個服務刪掉,沒有刪掉的原因咱們也說了,其實這個服務是自我保護狀態的呢,還是存在的,那我們先是要去掉自我保護,然后同時讓他在服務列表當中,把這個服務去掉,因為你現在已經不是一個自我保護的狀態了,這個服務在收到心跳包以后,Eureka Server肯定會對這個服務做刪除的,清理間隔時間是多少,是我們設置的一分鐘,我們現在把這個配置文件拿過來#關閉自我保護:true為開啟自我保護,false為關閉自我保護
eureka.server.enableSelfPreservation=false
#清理間隔(單位:毫秒,默認是60*1000)
eureka.server.eviction.interval-timer-in-ms=60000添加到eureka-ha,eureka注冊中心的集群版,打開他的配置文件,加到這里,這是一個,然后我們需要對項目做重新的打包處理,再部署到我們的linux當中,然后我們重新打包,這邊打包的時候呢,我們再看一下,我們是不是=得先把服務停掉,然后把原來的jar包刪掉,我們的啟動腳本不用動,因為我們的項目無論怎么打包,我們的名稱都是一樣的,我們沒有修改名稱,我們看一下管理頁面,現在是關閉的,我們再來啟動我們的服務,eureka正在啟動,我們稍等一下,現在已經啟動好了,我們看上面是不是多了一句話THE SELF PRESERVATION MODE IS TURNED OFF.THIS MAY NOT PROTECT INSTANCE EXPIRY IN CASE OF NETWORK/OTHER PROBLEMS.the self preservation mode is turned off.this may not protect instance expiry in case of network/other problems.很明顯和我們剛才看到的是有區別的,他說這個服務的自動保護模式已經取消了,現在在我們的Eureka服務的注冊中心當中,已經取消了對服務的自我保護,那我們接下來再看,在我們的代碼當中,現在在吧我們的Provider和Consumer再去啟動,把這個服務再去啟動,然后在過來啟動Consumer,然后我們刷新,這個時候我們可以看到,現在這兩個服務是不是都已經加進來了,說明這兩個服務在注冊中心注冊成功了,然后注意看,現在由于你這兩個服務在注冊中心當中呢,不再是自我保護的,因為我們已經關閉了自我保護模式,然后現在我去關閉這個服務,注意我去關閉這兩個服務,然后刷新,我們要等,因為我們在這里配的間隔,清理間隔,是一分鐘,那么也就意味著,我們現在去掉了服務的自我保護,那么也就意味著Eureka注冊中心,將不會保留這個服務了,然后到達清理時間以后,他就會將服務從管理界面當中把服務刪除掉,然后我們提到的負載均衡,他在做服務處理的時候,也會將這個服務剔除,所以我們之前沒有剔除服務的原因就是,他還在,在的原因是他啟動自我保護,這個大家應該能夠聽懂,我們刷新,一分鐘還沒到,經過漫長的等待,現在只刪除了一個,別著急,因為我們這個是后啟動的,因為服務啟動有一個服務啟動的速度的問題,Consumer已經關了,這個一分鐘之后就會關掉,Consumer已經關掉了,所以說我們想做自我關閉呢,是通過在配置文件當中添加這兩個配置,就可以關閉他的自我保護,然后 關閉所有保護之后,之間間隔以后,它會自動的將這個服務從服務列表當中,刪除掉,這樣我們就去掉了自我保護的選項
server.port=8761
eureka.instance.hostname=eureka-server#spring.application.name=eureka
#eureka.server.evictionIntervalTimerInMs=60000
eureka.client.serviceUrl.defaultZone=http://admin:1234@localhost:8761/eureka
#eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka
eureka.client.registerWithEureka=false
eureka.client.fetchRegistry=false#eureka.server.enableSelfPreservation=truesecurity.basic.enabled=true
security.user.name=admin
security.user.password=1234eureka.datacenter=cloud
eureka.environment=product#eureka.server.enable-self-preservation=falseeureka.server.enableSelfPreservation=false
eureka.server.eviction.interval-timer-in-ms=60000
?
總結
以上是生活随笔為你收集整理的关闭Eureka的服务自我保护的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Eureka的服务自我保护
- 下一篇: 服务的优雅停服