1. 程式人生 > >天行健,君子以自強不息;地勢坤,君子以厚德載物。

天行健,君子以自強不息;地勢坤,君子以厚德載物。

Spring Cloud 2.x系列之 eureka註冊中心叢集 1、 Eureka作為spring cloud的服務發現與註冊中心,在整個的微服務體系中,處於核心位置。單機模式下的eureka服務,顯然不能滿足高可用的實際生產環境,這就要求配置一個能夠應對各種突發情況,具有較強容災能力的eureka服務。Eureka通過“夥伴機制”實現高可用。每一臺Eureka都需要在配置中指定另外兩個Eureka的地址夥伴,Eureka啟動時會向自己的夥伴節點獲取當前已經存在的登錄檔,這樣在向Eureka叢集中新加機器時就不需要擔心登錄檔的不完整。 2、 新建三個maven專案,分別為sc-eureka-cluster-server-node1,sc-eureka-cluster-server-node2,sc-eureka-cluster-server-node3。專案結構如下: 在這裡插入圖片描述

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

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-node2

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-node3

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/

4、 配置host檔案C:\Windows\System32\drivers\etc\hosts

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

5、 分別啟動EurekaServerApplication.java sc-eureka-cluster-server-node1的日誌:

在這裡插入圖片描述 sc-eureka-cluster-server-node2的日誌:

在這裡插入圖片描述 sc-eureka-cluster-server-node3的日誌

在這裡插入圖片描述 如果出現上面圈住的日誌說明啟動成功

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

org.springframework.boot.autoconfigure.web.ServerProperties
org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean
com.netflix.eureka.EurekaServerConfig
com.netflix.eureka.DefaultEurekaServerConfig
org.springframework.cloud.netflix.eureka.server.EurekaServerConfigBean
com.netflix.discovery.EurekaClientConfig
com.netflix.discovery.DefaultEurekaClientConfig
org.springframework.cloud.netflix.eureka.EurekaClientConfigBean

原始碼:

https://gitee.com/hjj520/spring-cloud-2.x

更多好文章關注: 在這裡插入圖片描述