六、(Eureka篇)理論知識(shí)

一、Eureka 理論說明

Eureka 是一個(gè)【服務(wù)治理】和【服務(wù)注冊(cè)與發(fā)現(xiàn)】框架,它是 netflix 公司開發(fā)的,目前已經(jīng)停止更新和維護(hù)。
Eureka通過心跳檢查、客戶端緩存等機(jī)制,確保了系統(tǒng)的高可用性、靈活性和可伸縮性。
Eureka 包含兩個(gè)組件:EurekaServer 和 EruekaClient。即服務(wù)端與客戶端。

1、【服務(wù)治理】與【服務(wù)發(fā)現(xiàn)】

(1)服務(wù)治理:SOA governance,用于管理多個(gè)服務(wù)與服務(wù)之間的依賴關(guān)系,讓其可以實(shí)現(xiàn)服務(wù)調(diào)用、負(fù)載均衡、容錯(cuò)等。
(2)服務(wù)注冊(cè)與發(fā)現(xiàn):舉個(gè)例子,你要和張三、李四、王五中的某些人要頻繁的互相打電話,你們的號(hào)碼可能會(huì)停機(jī)、可能會(huì)換號(hào),那么一旦停機(jī)或者換號(hào)了,別人就打不通了(可以假設(shè)你們是特務(wù),換號(hào)很頻繁的那種)。

那么怎么管理各自的號(hào)碼等信息?最好的方式是你們有一本【共享的電話號(hào)碼簿】,你可以通過它查找其他人的號(hào)碼,同樣的,你自己的號(hào)碼停機(jī)(服務(wù)下線了)或者換號(hào)(更改url),都應(yīng)該寫到這個(gè)【共享的電話號(hào)碼簿】上。

我們把張三、李四、王五換成【服務(wù)】,電話號(hào)碼換成 url (ip+端口),那么個(gè)【共享的電話號(hào)碼簿】就是【注冊(cè)中心】,也就是我們下面要說的 EurekaServer 。
我們換號(hào)了,把號(hào)碼主動(dòng)寫到【共享的電話號(hào)碼簿】上,叫【服務(wù)注冊(cè)】。
我們?nèi)ァ竟蚕淼碾娫捥?hào)碼簿】查其他人的號(hào)碼,叫【服務(wù)發(fā)現(xiàn)】。

服務(wù)間要互相調(diào)用,就必須知道要調(diào)用服務(wù)的 url ,即 ip 端口等信息,需要知道該服務(wù)有沒有啟動(dòng), url 信息有沒有更新等等,所以 Eureka 有一個(gè)注冊(cè)中心,每個(gè)服務(wù)都將自己的信息主動(dòng)注冊(cè)到注冊(cè)中心。同樣的,每個(gè)服務(wù)想相互調(diào)用或者獲得彼此的信息也去注冊(cè)信息查找即可。

2、EurekaServer 和 EruekaClient

Eureka Server提供服務(wù)注冊(cè)服務(wù),各個(gè)節(jié)點(diǎn)啟動(dòng)后,會(huì)在Eureka Server中進(jìn)行注冊(cè),這樣EurekaServer中的服務(wù)注冊(cè)表中將會(huì)存儲(chǔ)所有可用服務(wù)節(jié)點(diǎn)的信息,服務(wù)節(jié)點(diǎn)的信息可以在界面中直觀的看到。

Eureka Client是一個(gè)java客戶端,用于簡(jiǎn)化與Eureka Server的交互,客戶端同時(shí)也就是一個(gè)內(nèi)置的、使用輪詢(round-robin)負(fù)載算法的負(fù)載均衡器。

在應(yīng)用啟動(dòng)后,將會(huì)向Eureka Server發(fā)送心跳,默認(rèn)周期為30秒,如果Eureka Server在多個(gè)心跳周期內(nèi)沒有接收到某個(gè)節(jié)點(diǎn)的心跳,Eureka Server將會(huì)從服務(wù)注冊(cè)表中把這個(gè)服務(wù)節(jié)點(diǎn)移除(默認(rèn)90秒)。

Eureka Server之間通過復(fù)制的方式完成數(shù)據(jù)的同步,Eureka還提供了客戶端緩存機(jī)制,即使所有的Eureka Server都掛掉,客戶端依然可以利用緩存中的信息消費(fèi)其他服務(wù)的API。

二、單機(jī)Eureka服務(wù)端和客戶端配置

image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容