二、eureka註冊中心集羣

一、 Eureka做爲spring cloud的服務發現與註冊中心,在整個的微服務體系中,處於核心位置。單機模式下的eureka服務,顯然不能知足高可用的實際生產環境,這就要求配置一個可以應對各類突發狀況,具備較強容災能力的eureka服務。Eureka經過「夥伴機制」實現高可用。每一臺Eureka都須要在配置中指定另外兩個Eureka的地址夥伴,Eureka啓動時會向本身的夥伴節點獲取當前已經存在的註冊表,這樣在向Eureka集羣中新加機器時就不須要擔憂註冊表的不完整。
二、 新建三個maven項目,分別爲sc-eureka-cluster-server-node1,sc-eureka-cluster-server-node2,sc-eureka-cluster-server-node3。項目結構以下:java

clipboard.png

備註:pom.xml和EurekaServerApplication.java的內容給單機模式是如出一轍的,請參考上篇文章。
三、 主要看下bootstap.yml或者application.yml文件的改動
sc-eureka-cluster-server-node1node

spring:
  application:
    name: sc-eureka-cluster-server-node1
    
server:
  port: 5001
  
eureka:
  instance:
    hostname: sc-eureka-cluster-server-node1
    lease-renewal-interval-in-seconds: 30
    lease-expiration-duration-in-seconds: 30
    prefer-ip-address: true
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://sc-eureka-cluster-server-node2:5002/eureka/,http://sc-eureka-cluster-server-node3:5003/eureka/

sc-eureka-cluster-server-node2web

spring:
  application:
    name: sc-eureka-cluster-server-node2
    
server:
  port: 5002
  
eureka:
  instance:
    hostname: sc-eureka-cluster-server-node2
    lease-renewal-interval-in-seconds: 30
    lease-expiration-duration-in-seconds: 30
    prefer-ip-address: true
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://sc-eureka-cluster-server-node1:5001/eureka/,http://sc-eureka-cluster-server-node3:5003/eureka/

sc-eureka-cluster-server-node3spring

spring:
  application:
    name: sc-eureka-cluster-server-node3
    
server:
  port: 5003
  
eureka:
  instance:
    hostname: sc-eureka-cluster-server-node3
    lease-renewal-interval-in-seconds: 30
    lease-expiration-duration-in-seconds: 30
    prefer-ip-address: true
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://sc-eureka-cluster-server-node1:5001/eureka/,http://sc-eureka-cluster-server-node2:5001/eureka/

四、 配置host文件C:WindowsSystem32driversetchosts瀏覽器

127.0.0.1 sc-eureka-cluster-server-node1
127.0.0.1 sc-eureka-cluster-server-node2
127.0.0.1 sc-eureka-cluster-server-node3

五、 分別啓動EurekaServerApplication.java
sc-eureka-cluster-server-node1的日誌:app

clipboard.png

sc-eureka-cluster-server-node2的日誌:maven

clipboard.png

sc-eureka-cluster-server-node3的日誌微服務

clipboard.png

若是出現上面圈住的日誌說明啓動成功fetch

六、 在瀏覽器分別訪問
http://sc-eureka-cluster-serv...:5001/spa

clipboard.png

http://sc-eureka-cluster-serv...:5002/

clipboard.png

http://sc-eureka-cluster-serv...:5002/

clipboard.png

下面列出幾個重要的配置項類:

org.springframework.boot.autoconfigure.web.ServerPropertiesorg.springframework.cloud.netflix.eureka.EurekaInstanceConfigBeancom.netflix.eureka.EurekaServerConfigcom.netflix.eureka.DefaultEurekaServerConfigorg.springframework.cloud.netflix.eureka.server.EurekaServerConfigBeancom.netflix.discovery.EurekaClientConfigcom.netflix.discovery.DefaultEurekaClientConfigorg.springframework.cloud.netflix.eureka.EurekaClientConfigBean