使用Spring Cloud搭建高可用服務註冊中心 (2)

轉自 https://blog.csdn.net/u012702547/article/details/77823434

這個系列我感覺真的太好了,可以一步一步的瞭解spring cloud 的搭建以及更深層次的東西,對想學這門技術的朋友真的入門特別的快,感謝這位大哥的分享,我也會持續的更新過來。

我們需要的,不僅僅是一個服務註冊中心而已,而是一個高可用服務註冊中心。


上篇博客【使用Spring Cloud搭建服務註冊中心】中我們介紹瞭如何使用Spring Cloud搭建一個服務註冊中心,但是搭建好的服務註冊中心是一個單節點的服務註冊中心,這樣一旦發生了故障,那麼整個服務就會癱瘓,所以我們需要一個高可用的服務註冊中心,那麼在Eureka中,我們通過集羣來解決這個問題。Eureka Server的高可用實際上就是將自己作爲服務向其他服務註冊中心註冊自己,這樣就會形成一組互相註冊的服務註冊中心,進而實現服務清單的互相同步,達到高可用的效果。OK,由於本文的效果是在上篇博客【使用Spring Cloud搭建服務註冊中心】的基礎上實現的,所以建議小夥伴們先閱讀上文,否則本文閱讀可能會沒有頭緒。

OK,廢話不多說,我們就來看看如何搭建高可用註冊中心。

增加配置文件

上篇博客中,我們創建了一個名叫eureka-server的服務註冊中心,那麼在本文中,我將修改這個工程的配置文件,進而將其啓動多次。如下,我向這個工程中添加兩個配置文件application-peer1.properties和application-peer2.properties:

 
兩個配置文件的內容分別如下: 

application-peer1.properties:

server.port=1111
eureka.instance.hostname=peer1
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.service-url.defaultZone=http://peer2:1112/eureka/

application-peer2.properties:

server.port=1112
eureka.instance.hostname=peer2
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.service-url.defaultZone=http://peer1:1111/eureka/

關於這兩個配置文件我說如下幾點:

1.在peer1的配置文件中,讓它的service-url指向peer2,在peer2的配置文件中讓它的service-url指向peer1 
2.爲了讓peer1和peer2能夠被正確的訪問到,我們需要在C:\Windows\System32\drivers\etc目錄下的hosts文件總添加兩行配置,如下: 
127.0.0.1 peer1 
127.0.0.1 peer2 
3.由於peer1和peer2互相指向對方,實際上我們構建了一個雙節點的服務註冊中心集羣

生成jar文件

OK,這次我們不直接從IDEA中啓動項目,而是先給工程生成jar文件,生成方式如下,雙擊package生成:


生成結果如下:

啓動項目

生成jar文件之後,我們在命令行通過java命令來啓動項目,在啓動的時候我們可以設置採用不同的配置文件來啓動項目,命令如下:

java -jar eureka-server-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1  
java -jar eureka-server-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2

這兩行命令表示我們分別採用application-peer1.properties和application-peer2.properties兩個配置文件來啓動應用,OK,執行完這兩個命令之後,我們的服務註冊中心就啓動了兩個了,效果圖如下:

我們可以看到,在peer1的節點的DS replicas我們已經可以看到peer2節點了,在peer2的DS replicas中我們也可以看到peer1節點了。

OK,如此之後,我們的服務註冊中心集羣就搭建好了,然後我們可以做一個簡單的測試。

測試

修改上篇博客中提到的provider項目的配置文件,如下:

spring.application.name=hello-service  
eureka.client.service-url.defaultZone=http://peer1:1111/eureka,http://peer2:1112/eureka

小夥伴們注意,我們在service-url中添加了兩個註冊中心地址,兩個地址中間用,隔開,OK,修改一下這裏就可以了,接下來我們來啓動這個項目,啓動成功之後我們再去刷新http://localhost:1111http://localhost:1112兩個頁面,我們會發現我的服務提供者在這兩個服務註冊中心都註冊了,如下:



OK,至此,一個高可用的服務註冊中心我們就搭建成功了,有問題歡迎留言討論。下篇文章我們就來看看Spring Cloud中服務的發現與消費。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章