spring cloud 搭建高可用註冊中心(踩坑)

    先寫一下整理過程, 之後總結一下踩的坑,(參考了翟永超的書籍,和一些相關博客)

  Eureka高可用的作用

之所以進行eureka集羣的搭建,在於我們平時的生產環境中,很難保證單節點的eureka服務能提供百分百不間斷的服務,如果eureka無響應了,整個項目應用都會出現問題,因此要保證eureka隨時都能提供服務的情況下,最好的方式就是採用eureka的集羣模式,也就是搭建eureka的高可用,在eureka的集羣模式下,多個eureka server之間可以同步註冊服務,因此,在一個eureka宕掉的情況下,仍然可以提供服務註冊和服務發現的能力,從而達到註冊中心的高可用。

創建 兩個 註冊中心, 節點爲 peer1, peer2

創建appliaction-peer1.yml  

#本機端口
server:
  port: 1111
spring:
  application:
    name: eureka-server
eureka:
  instance:
    hostname: peer1
  client:
    fetch-registry: true
    register-with-eureka: true
    serviceUrl:
      defaultZone: http://peer2:1112/eureka/

創建 application-peer2.yml  

server:
  port: 1112
spring:
  application:
    name: eureka-server
eureka:
  instance:
    hostname: peer2
  client:
    fetch-registry: true
    register-with-eureka: true
    serviceUrl:
      defaultZone: http://peer1:1111/eureka/

修改配置文件hosts文件

127.0.0.1       peer1
127.0.0.1       peer2

本地分別啓動兩個註冊中心

java -jar  springcloud-demo-0.0.1-SNAPSHOT.jar   --spring.profiles.active=peer1
java -jar  springcloud-demo-0.0.1-SNAPSHOT.jar   --spring.profiles.active=peer2

打開http://localhost:1112 查看peer2 節點 ,    registered-replicas  裏面出現了 http://peer1:11111/eureka  , 

切換到 peer1 節點,可以看到peer 爲備用節點,

這裏面用 peer1,peer2 代表 ip地址,主要是方便區分, 沒有特別的意義, 如果你想使用ip的字的話, 設置:

eureka.instance.prefer-ip-address=true

我沒測試,需要測試的話, 可以自己去測試一下,

踩坑:這裏面的話,需要手動設置

如果不手動設置,按道理默認是爲true 的 但是如果不填的話, 不會將自己 註冊到註冊中心, 會導致,副本註冊中心 不可用

不知道是不是spring cloud 依賴的版本問題導致的

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發佈了20 篇原創文章 · 獲贊 15 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章