本篇文章為大家展示了Spring Cloud Eureka是什么,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
創(chuàng)新互聯(lián)公司是一家專業(yè)從事成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)的品牌網(wǎng)絡(luò)公司。如今是成都地區(qū)具影響力的網(wǎng)站設(shè)計(jì)公司,作為專業(yè)的成都網(wǎng)站建設(shè)公司,創(chuàng)新互聯(lián)公司依托強(qiáng)大的技術(shù)實(shí)力、以及多年的網(wǎng)站運(yùn)營(yíng)經(jīng)驗(yàn),為您提供專業(yè)的成都網(wǎng)站建設(shè)、營(yíng)銷型網(wǎng)站建設(shè)及網(wǎng)站設(shè)計(jì)開(kāi)發(fā)服務(wù)!
Spring Cloud Eureka 是 Spring Cloud Netflix 微服務(wù)套件的一部分,基于 Netflix Eureka 做了二次封裝,主要負(fù)責(zé)實(shí)現(xiàn)微服務(wù)架構(gòu)中的服務(wù)治理功能。
Spring Cloud Eureka 是一個(gè)基于 REST 的服務(wù),并且提供了基于 Java 的客戶端組件,能夠非常方便地將服務(wù)注冊(cè)到 Spring Cloud Eureka 中進(jìn)行統(tǒng)一管理。
服務(wù)治理是微服務(wù)架構(gòu)中必不可少的一部分,阿里開(kāi)源的 Dubbo 框架就是針對(duì)服務(wù)治理的。服務(wù)治理必須要有一個(gè)注冊(cè)中心,除了用 Eureka 作為注冊(cè)中心外,我們還可以使用 Consul、Etcd、Zookeeper 等來(lái)作為服務(wù)的注冊(cè)中心。
用過(guò) Dubbo 的讀者應(yīng)該清楚,Dubbo 中也有幾種注冊(cè)中心,比如基于 Zookeeper、基于 redis 等,不過(guò)用得最多的還是 Zookeeper 方式。
至于使用哪種方式都是可以的,注冊(cè)中心無(wú)非就是管理所有服務(wù)的信息和狀態(tài)。若用我們生活中的例子來(lái)說(shuō)明的話,筆者覺(jué)得 12306 網(wǎng)站比較合適。
首先,12306 網(wǎng)站就好比一個(gè)注冊(cè)中心,顧客就好比調(diào)用的客戶端,當(dāng)他們需要坐火車時(shí),就會(huì)登錄 12306 網(wǎng)站上查詢余票,有票就可以購(gòu)買,然后獲取火車的車次、時(shí)間等,最后出發(fā)。
程序也是一樣,當(dāng)你需要調(diào)用某一個(gè)服務(wù)的時(shí)候,你會(huì)先去 Eureka 中去拉取服務(wù)列表,查看你調(diào)用的服務(wù)在不在其中,在的話就拿到服務(wù)地址、端口等信息,然后調(diào)用。
注冊(cè)中心帶來(lái)的好處就是,不需要知道有多少提供方,你只需要關(guān)注注冊(cè)中心即可,就像顧客不必關(guān)心有多少火車在開(kāi)行,只需要去 12306 網(wǎng)站上看有沒(méi)有票就可以了。
為什么 Eureka 比 Zookeeper 更適合作為注冊(cè)中心呢?主要是因?yàn)?Eureka 是基于 AP 原則構(gòu)建的,而 ZooKeeper 是基于 CP 原則構(gòu)建的。
在分布式系統(tǒng)領(lǐng)域有個(gè)著名的 CAP 定理,即 C 為數(shù)據(jù)一致性;A 為服務(wù)可用性;P 為服務(wù)對(duì)網(wǎng)絡(luò)分區(qū)故障的容錯(cuò)性。這三個(gè)特性在任何分布式系統(tǒng)中都不能同時(shí)滿足,最多同時(shí)滿足兩個(gè)。
Zookeeper 有一個(gè) Leader,而且在這個(gè) Leader 無(wú)法使用的時(shí)候通過(guò) Paxos(ZAB)算法選舉出一個(gè)新的 Leader。這個(gè) Leader 的任務(wù)就是保證寫數(shù)據(jù)的時(shí)候只向這個(gè) Leader 寫入,Leader 會(huì)同步信息到其他節(jié)點(diǎn)。通過(guò)這個(gè)操作就可以保證數(shù)據(jù)的一致性。
總而言之,想要保證 AP 就要用 Eureka,想要保證 CP 就要用 Zookeeper。
Dubbo 中大部分都是基于 Zookeeper 作為注冊(cè)中心的。Spring Cloud 中當(dāng)然首選 Eureka。
上述內(nèi)容就是Spring Cloud Eureka是什么,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。