Spring Cloud(6)——注冊中心高可用集群

Spring Cloud(1)——服務(wù)注冊中心這篇文章中,我們已經(jīng)搭建好一個單機的注冊中心。這篇文章要做的就是把單機版的注冊中心改造為高可用集群模式。

我們可以創(chuàng)建三個注冊中心節(jié)點,每個節(jié)點進行兩兩注冊,實現(xiàn)完全對等的效果,可以達到集群的最高可用性,任何一個節(jié)點掛掉都不會影響服務(wù)的注冊與發(fā)現(xiàn)。

1、服務(wù)器準備

主機名 IP
eureka-server-peer1 192.168.31.117
eureka-server-peer2 192.168.31.146
eureka-server-peer3 192.168.31.173
  • 修改各個服務(wù)器的hosts文件,添加主機名與IP的映射,內(nèi)容如下:
192.168.31.117       eureka-server-peer1
192.168.31.146       eureka-server-peer2
192.168.31.173       eureka-server-peer3
  • 開放所需要的8761、8762、8763端口

修改系統(tǒng)的iptables文件:

# vi /etc/sysconfig/iptables

在192.168.31.117、192.168.31.146、192.168.31.173分別增加

## microservice-eureka-server
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8761 -j ACCEPT

## microservice-eureka-server
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8762 -j ACCEPT

## microservice-eureka-server
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8763 -j ACCEPT

配置重啟生效

# service iptables restart

以上是針對Linux部署的,如果只是Windows本地,那同樣可以修改hosts文件內(nèi)容

127.0.0.1       eureka-server-peer1
127.0.0.1       eureka-server-peer2
127.0.0.1       eureka-server-peer3

Windows的hosts路徑為:C:\Windows\System32\drivers\etc

2、修改application.yml文件

創(chuàng)建三個注冊中心節(jié)點,分別為peer1、peer2、peer3,在yml格式文件中,用---分割每個節(jié)點的內(nèi)容,等同于創(chuàng)建了三個文件的效果。

---
spring:
  application:
    name: microservice-eureka-server
  profiles: peer1
server:
  port: 8761
eureka:
  instance:
    hostname: eureka-server-peer1
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://eureka-server-peer2:8762/eureka/,http://eureka-server-peer3:8763/eureka/

---
spring:
  application:
    name: microservice-eureka-server
  profiles: peer2
server:
  port: 8762
eureka:
  instance:
    hostname: eureka-server-peer2
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://eureka-server-peer1:8761/eureka/,http://eureka-server-peer3:8763/eureka/

---
spring:
  application:
    name: microservice-eureka-server
  profiles: peer3
server:
  port: 8763
eureka:
  instance:
    hostname: eureka-server-peer3
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://eureka-server-peer1:8761/eureka/,http://eureka-server-peer2:8762/eureka/

3、將jar包上傳至服務(wù)器并運行

  • 將jar包上傳至目錄/apps/microservice-eureka-server

  • 啟動:
    每臺機器指定不同的spring.profiles.active啟動參數(shù)

java -jar microservice-eureka-server.jar --spring.profiles.active=peer1
java -jar microservice-eureka-server.jar --spring.profiles.active=peer2
java -jar microservice-eureka-server.jar --spring.profiles.active=peer3

4、客戶端使用配置

將之前注冊中心單節(jié)點的配置改為多節(jié)點即可,如下:

eureka.client.serviceUrl.defaultZone=http://192.168.31.117:8761/eureka/,http://192.168.31.146:8762/eureka/,http://192.168.31.173:8763/eureka/

效果圖:


Paste_Image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容