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