刪除Eureka注冊中心的服務


參考:
如何刪除Eureka服務中心已經注冊的服務
eureka注冊中心刪除服務與狀態變更
Eureka中已注冊的服務下線三種方式

  1. 刪除Eureka注冊中心的服務

    起因:Eureka的自我保護機制

    默認情況下,如果 Eureka Server 在一定的 90s 內沒有接收到某個微服務實例的心跳,會注銷該實例。但是在微服務架構下服務之間通常都是跨進程調用,網絡通信往往會面臨着各種問題,比如微服務狀態正常,網絡分區故障,導致此實例被注銷。

    固定時間內大量實例被注銷,可能會嚴重威脅整個微服務架構的可用性。為了解決這個問題,Eureka 開發了自我保護機制,那么什么是自我保護機制呢?

    Eureka Server 在運行期間會去統計心跳失敗比例在 15 分鍾之內是否低於 85%,如果低於 85%,Eureka Server 即會進入自我保護機制。

    Eureka Server 進入自我保護機制,會出現以下幾種情況:
    (1) Eureka 不再從注冊列表中移除因為長時間沒收到心跳而應該過期的服務
    (2) Eureka 仍然能夠接受新服務的注冊和查詢請求,但是不會被同步到其它節點上(即保證當前節點依然可用)
    (3) 當網絡穩定時,當前實例新的注冊信息會被同步到其它節點中

    Eureka 自我保護機制是為了防止誤殺服務而提供的一個機制。當個別客戶端出現心跳失聯時,則認為是客戶端的問題,剔除掉客戶端;當 Eureka 捕獲到大量的心跳失敗時,則認為可能是網絡問題,進入自我保護機制;當客戶端心跳恢復時,Eureka 會自動退出自我保護機制。

    如果在保護期內剛好這個服務提供者非正常下線了,此時服務消費者就會拿到一個無效的服務實例,即會調用失敗。對於這個問題需要服務消費者端要有一些容錯機制,如重試,斷路器等。(關於自我保護部分配置我上面的配置文件已經說明)

    操作:在pm中操作:

    (DELETE)http://${server}:${port}/eureka/apps/${serviceName}/${instanceId}
    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM