SpringCloud中如何使用Eureka集群搭建高可用服務(wù)注冊(cè)中心-創(chuàng)新互聯(lián)

今天就跟大家聊聊有關(guān)Spring Cloud中如何使用Eureka集群搭建高可用服務(wù)注冊(cè)中心,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)新互聯(lián)長(zhǎng)期為千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為東蘭企業(yè)提供專業(yè)的網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作,東蘭網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

這一篇主要介紹一下如何搭建一個(gè)高可用的 Eureka 集群。

1. 分布式和集群有啥區(qū)別?

可能有很多人對(duì)分布式和集群這兩個(gè)概念有點(diǎn)混淆。我先用通俗易懂的話給大家解釋下:

分布式:一個(gè)業(yè)務(wù)分拆多個(gè)子業(yè)務(wù),部署在不同的服務(wù)器上

集群:同一個(gè)業(yè)務(wù),分別部署在不同的服務(wù)器上

所以分布式的每一個(gè)節(jié)點(diǎn),完成的是不同的業(yè)務(wù),一個(gè)節(jié)點(diǎn)掛了,那么這個(gè)業(yè)務(wù)功能就無法訪問了,甚至可能會(huì)影響到其他業(yè)務(wù)。而集群是一個(gè)比較有組織的架構(gòu),正因?yàn)橛薪M織性,一個(gè)服務(wù)節(jié)點(diǎn)掛了,其他服務(wù)節(jié)點(diǎn)可以頂上來,從而保證了服務(wù)的健壯性。

所以說,集群可以理解為:你中有我,我中有你,手拉手肩并肩,一起保證服務(wù)的健壯性

2. Eureka集群邏輯

在搭建 Eureka 集群之前,先來回顧一下前面搭建的單個(gè) Eureka 服務(wù),看下 yml 配置文件:

server:
 port: 7001

eureka:
 instance:
   #eureka服務(wù)端的實(shí)例名稱
   hostname: eureka01
 client:
   # false表示不向注冊(cè)中心注冊(cè)自己
   register-with-eureka: false
   # false表示自己端就是注冊(cè)中心,我的職責(zé)就是維護(hù)服務(wù)實(shí)例,并不需要去檢索服務(wù)
   fetch-registry: false
   service-url:
     #設(shè)置與Eureka Server交互的地址查詢服務(wù)和注冊(cè)服務(wù)都需要依賴這個(gè)地址(單機(jī))。
     defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

這是一個(gè) Eureka 服務(wù),名稱是 eureka7001, 注冊(cè)中心是它自己的。那么我們?nèi)绾稳ゴ罱ㄒ粋€(gè) Eureka 集群呢?假設(shè)現(xiàn)在有三個(gè) Eureka 服務(wù):eureka7001、eureka7002 和 eureka7003。

為了體現(xiàn)出集群的你中有我,我中有你,不難想象,eureka7001 中應(yīng)該掛上 eureka7002 和 eureka7003;eureka7002 中應(yīng)該掛上 eureka7001 和 eureka7003;eureka7003 中應(yīng)該掛上 eureka7001 和 eureka7002。如下圖所示:

Spring Cloud中如何使用Eureka集群搭建高可用服務(wù)注冊(cè)中心

這樣就搭建好了一個(gè) Eureka 集群了,那么我們?nèi)绾稳?shí)現(xiàn)呢?接下來就落實(shí)到具體實(shí)現(xiàn)方式。

3. Eureka7001的改造

由上面的分析可知,Eureka7001 需要掛上 Eureka7002 和 Eureka7003,所以在 Eureka7001 的配置文件中需要重新配置一下 defaultZone,如下:

server:
 port: 7001

eureka:
 instance:
   #eureka服務(wù)端的實(shí)例名稱
   hostname: eureka01
 client:
   # false表示不向注冊(cè)中心注冊(cè)自己
   register-with-eureka: false
   # false表示自己端就是注冊(cè)中心,我的職責(zé)就是維護(hù)服務(wù)實(shí)例,并不需要去檢索服務(wù)
   fetch-registry: false
   service-url:
     defaultZone: http://eureka02.com:7002/eureka/,http://eureka03.com:7003/eureka/

OK,defaultZone 配置好了 eureka7002 和 eureka 7003。

4. 搭建Eureka7002

以同樣的方式,拷貝一份 Eureka7001 的工程,修改其配置文件:

server:
 port: 7002

eureka:
 instance:
   #eureka服務(wù)端的實(shí)例名稱
   hostname: eureka02
 client:
   # false表示不向注冊(cè)中心注冊(cè)自己
   register-with-eureka: false
   # false表示自己端就是注冊(cè)中心,我的職責(zé)就是維護(hù)服務(wù)實(shí)例,并不需要去檢索服務(wù)
   fetch-registry: false
   service-url:
     defaultZone: http://eureka01.com:7001/eureka/,http://eureka03.com:7003/eureka/

可以看出,在 eureka7002 中,把 eureka7001 和 eureka7003 掛進(jìn)來。

5. 搭建Eureka7003

以相同的方式,把 eureka7003 也搭建好。

server:
 port: 7003

eureka:
 instance:
   #eureka服務(wù)端的實(shí)例名稱
   hostname: eureka03
 client:
   # false表示不向注冊(cè)中心注冊(cè)自己
   register-with-eureka: false
   # false表示自己端就是注冊(cè)中心,我的職責(zé)就是維護(hù)服務(wù)實(shí)例,并不需要去檢索服務(wù)
   fetch-registry: false
   service-url:
     defaultZone: http://eureka01.com:7001/eureka/,http://eureka02.com:7002/eureka/

ok,現(xiàn)在三個(gè) eureka 注冊(cè)中心都搭建好了,最后別忘了在本地 hosts 文件中將 eureka7001、eureka7002 和 eureka7003 映射到 127.0.0.1。

6. 修改訂單服務(wù)

我們首先來回憶下,之前的訂單服務(wù)提供方的配置文件是怎么寫的:

# 客戶端注冊(cè)進(jìn)eureka服務(wù)列表里
eureka:
 client:
   service-url:
     defaultZone: http://eureka01:7001/eureka/
 instance:
   instance-id: 書籍訂單服務(wù)-8001  # 人性化顯示出服務(wù)的信息
   prefer-ip-address: true    # 訪問路徑可顯示ip地址

是將訂單服務(wù)注冊(cè)到 eureka7001 中,因?yàn)橹熬瓦@一個(gè) eureka 注冊(cè)中心,那么現(xiàn)在有三個(gè)了,我們需要修改下配置,將訂單服務(wù)注冊(cè)到三個(gè) eureka 中。

# 客戶端注冊(cè)進(jìn)eureka服務(wù)列表里
eureka:
 client:
   service-url:
     defaultZone: http://eureka01:7001/eureka/,http://eureka02:7002/eureka/,http://eureka03:7003/eureka/
 instance:
   instance-id: 書籍訂單服務(wù)-8001  # 人性化顯示出服務(wù)的信息
   prefer-ip-address: true    # 訪問路徑可顯示ip地址

7. 測(cè)試效果

OK,所有搭建步驟都完成了,接下來分別啟動(dòng)一下 eureka7001、eureka7002 和 eureka7003,再啟動(dòng)下訂單提供服務(wù)。然后我們可以分別訪問下三個(gè) eureka 注冊(cè)中心,看一下結(jié)果。我以訪問 eureka7001 為例,可以看到該服務(wù)中心掛著 eureka7002 和 eureka7003,而且訂單服務(wù)也成功注冊(cè)到該注冊(cè)中心。

Spring Cloud中如何使用Eureka集群搭建高可用服務(wù)注冊(cè)中心

看完上述內(nèi)容,你們對(duì)Spring Cloud中如何使用Eureka集群搭建高可用服務(wù)注冊(cè)中心有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝大家的支持。

當(dāng)前文章:SpringCloud中如何使用Eureka集群搭建高可用服務(wù)注冊(cè)中心-創(chuàng)新互聯(lián)
文章來源:http://bm7419.com/article28/ceogjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、移動(dòng)網(wǎng)站建設(shè)網(wǎng)站設(shè)計(jì)公司、電子商務(wù)、自適應(yīng)網(wǎng)站云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)