关于Eureka的自我保护模式
生活随笔
收集整理的這篇文章主要介紹了
关于Eureka的自我保护模式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Eureka客戶試圖在同一區域與Eureka服務器進行對話。
如果存在與服務器對話的問題,或者服務器在同一區域中不存在,則客戶端會在其他區域的服務器上失敗。一旦服務器開始接收流量,在服務器上執行的所有操作都將被復制到服務器所知道的所有節點節點。
如果某個操作由于某種原因失敗了,那么該信息將在下一次在服務器之間復制的heartbeat上進行協調。當Eureka服務器出現時,它試圖從相鄰節點獲取所有實例注冊信息。
如果從節點獲取信息有問題,服務器在放棄之前嘗試所有的節點。
如果服務器能夠成功地獲得所有實例,它將根據該信息設置它應該接收的更新閾值。
如果任何時候,更新都低于為該值配置的百分比(在15分鐘內低于85%),服務器停止過期實例以保護當前實例注冊表信息。在Netflix上,上述保障被稱為“自我保護模式”,它主要用于在一組客戶端和Eureka服務器之間存在網絡劃分的場景中作為一種保護。
在這些場景中,服務器試圖保護它已經擁有的信息。
可能出現大規模中斷的情況,這可能導致客戶端獲得不再存在的實例。
客戶端必須確保他們對eureka服務器返回一個不存在或沒有響應的實例有彈性。
在這些場景中,最好的保護是快速超時并嘗試其他服務器。在這種情況下,服務器無法從鄰近節點獲得注冊表信息,它等待幾分鐘(5分鐘),以便客戶端可以注冊他們的信息。
服務器努力不向客戶端提供部分信息,只向一組實例傾斜流量并造成容量問題。
Eureka服務器使用Eureka客戶端和服務器之間使用的相同機制進行通信。
同樣值得注意的是,有幾種配置可以在服務器上進行調整,包括在需要時服務器之間的通信。在對等網絡中斷的情況下,可能會發生以下情況:
對等點之間的心跳復制可能失敗,服務器檢測到這種情況,并進入保護當前狀態的自我保護模式。
在孤立的服務器中可能會發生注冊,一些客戶可能會反映新的注冊,而其他的可能不會。
在網絡連接恢復到穩定狀態后,情況自動更正。當對等點能夠進行良好的通信時,注冊信息就會自動轉移到沒有它們的服務器上。
底線是,在網絡中斷期間,服務器試圖盡可能地恢復彈性,但在此期間客戶可能會有不同的服務器視圖。
原文地址:https://github.com/Netflix/eureka/wiki/Understanding-Eureka-Peer-to-Peer-Communication
總結
以上是生活随笔為你收集整理的关于Eureka的自我保护模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 多线程端口扫描程序
- 下一篇: RC-delay 反相器的应用(菜鸟学习