轉自 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:1111和http://localhost:1112兩個頁面,我們會發現我的服務提供者在這兩個服務註冊中心都註冊了,如下:
OK,至此,一個高可用的服務註冊中心我們就搭建成功了,有問題歡迎留言討論。下篇文章我們就來看看Spring Cloud中服務的發現與消費。