今天就跟大家聊聊有關(guān)Spring Cloud中如何使用Eureka集群搭建高可用服務(wù)注冊中心,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)長期為千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為東蘭企業(yè)提供專業(yè)的網(wǎng)站設(shè)計、成都網(wǎng)站制作,東蘭網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。這一篇主要介紹一下如何搭建一個高可用的 Eureka 集群。
1. 分布式和集群有啥區(qū)別?
可能有很多人對分布式和集群這兩個概念有點混淆。我先用通俗易懂的話給大家解釋下:
分布式:一個業(yè)務(wù)分拆多個子業(yè)務(wù),部署在不同的服務(wù)器上
集群:同一個業(yè)務(wù),分別部署在不同的服務(wù)器上
所以分布式的每一個節(jié)點,完成的是不同的業(yè)務(wù),一個節(jié)點掛了,那么這個業(yè)務(wù)功能就無法訪問了,甚至可能會影響到其他業(yè)務(wù)。而集群是一個比較有組織的架構(gòu),正因為有組織性,一個服務(wù)節(jié)點掛了,其他服務(wù)節(jié)點可以頂上來,從而保證了服務(wù)的健壯性。
所以說,集群可以理解為:你中有我,我中有你,手拉手肩并肩,一起保證服務(wù)的健壯性。
2. Eureka集群邏輯
在搭建 Eureka 集群之前,先來回顧一下前面搭建的單個 Eureka 服務(wù),看下 yml 配置文件:
server:
port: 7001
eureka:
instance:
#eureka服務(wù)端的實例名稱
hostname: eureka01
client:
# false表示不向注冊中心注冊自己
register-with-eureka: false
# false表示自己端就是注冊中心,我的職責(zé)就是維護服務(wù)實例,并不需要去檢索服務(wù)
fetch-registry: false
service-url:
#設(shè)置與Eureka Server交互的地址查詢服務(wù)和注冊服務(wù)都需要依賴這個地址(單機)。
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
這是一個 Eureka 服務(wù),名稱是 eureka7001, 注冊中心是它自己的。那么我們?nèi)绾稳ゴ罱ㄒ粋€ Eureka 集群呢?假設(shè)現(xiàn)在有三個 Eureka 服務(wù):eureka7001、eureka7002 和 eureka7003。
為了體現(xiàn)出集群的你中有我,我中有你,不難想象,eureka7001 中應(yīng)該掛上 eureka7002 和 eureka7003;eureka7002 中應(yīng)該掛上 eureka7001 和 eureka7003;eureka7003 中應(yīng)該掛上 eureka7001 和 eureka7002。如下圖所示:
這樣就搭建好了一個 Eureka 集群了,那么我們?nèi)绾稳崿F(xiàn)呢?接下來就落實到具體實現(xiàn)方式。
3. Eureka7001的改造
由上面的分析可知,Eureka7001 需要掛上 Eureka7002 和 Eureka7003,所以在 Eureka7001 的配置文件中需要重新配置一下 defaultZone,如下:
server:
port: 7001
eureka:
instance:
#eureka服務(wù)端的實例名稱
hostname: eureka01
client:
# false表示不向注冊中心注冊自己
register-with-eureka: false
# false表示自己端就是注冊中心,我的職責(zé)就是維護服務(wù)實例,并不需要去檢索服務(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ù)端的實例名稱
hostname: eureka02
client:
# false表示不向注冊中心注冊自己
register-with-eureka: false
# false表示自己端就是注冊中心,我的職責(zé)就是維護服務(wù)實例,并不需要去檢索服務(wù)
fetch-registry: false
service-url:
defaultZone: http://eureka01.com:7001/eureka/,http://eureka03.com:7003/eureka/
可以看出,在 eureka7002 中,把 eureka7001 和 eureka7003 掛進來。
5. 搭建Eureka7003
以相同的方式,把 eureka7003 也搭建好。
server:
port: 7003
eureka:
instance:
#eureka服務(wù)端的實例名稱
hostname: eureka03
client:
# false表示不向注冊中心注冊自己
register-with-eureka: false
# false表示自己端就是注冊中心,我的職責(zé)就是維護服務(wù)實例,并不需要去檢索服務(wù)
fetch-registry: false
service-url:
defaultZone: http://eureka01.com:7001/eureka/,http://eureka02.com:7002/eureka/
ok,現(xiàn)在三個 eureka 注冊中心都搭建好了,最后別忘了在本地 hosts 文件中將 eureka7001、eureka7002 和 eureka7003 映射到 127.0.0.1。
6. 修改訂單服務(wù)
我們首先來回憶下,之前的訂單服務(wù)提供方的配置文件是怎么寫的:
# 客戶端注冊進eureka服務(wù)列表里
eureka:
client:
service-url:
defaultZone: http://eureka01:7001/eureka/
instance:
instance-id: 書籍訂單服務(wù)-8001 # 人性化顯示出服務(wù)的信息
prefer-ip-address: true # 訪問路徑可顯示ip地址
是將訂單服務(wù)注冊到 eureka7001 中,因為之前就這一個 eureka 注冊中心,那么現(xiàn)在有三個了,我們需要修改下配置,將訂單服務(wù)注冊到三個 eureka 中。
# 客戶端注冊進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. 測試效果
OK,所有搭建步驟都完成了,接下來分別啟動一下 eureka7001、eureka7002 和 eureka7003,再啟動下訂單提供服務(wù)。然后我們可以分別訪問下三個 eureka 注冊中心,看一下結(jié)果。我以訪問 eureka7001 為例,可以看到該服務(wù)中心掛著 eureka7002 和 eureka7003,而且訂單服務(wù)也成功注冊到該注冊中心。
看完上述內(nèi)容,你們對Spring Cloud中如何使用Eureka集群搭建高可用服務(wù)注冊中心有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝大家的支持。
當(dāng)前文章:SpringCloud中如何使用Eureka集群搭建高可用服務(wù)注冊中心-創(chuàng)新互聯(lián)
文章來源:http://vcdvsql.cn/article28/ceogjp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、移動網(wǎng)站建設(shè)、網(wǎng)站設(shè)計公司、電子商務(wù)、自適應(yīng)網(wǎng)站、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容