【SpringCloud】微服務Eureka高可用配置

發表於2020-11-25

一、 Eureka Server高可用配置

  • (1)高可用是什麼?
    “高可用性”(High Availability)通常來描述一個系統經過專門的設計,從而減少停工時間,而保持其服務的高度可用性
    如:給Eureka Server 搞一個備份
  • (2)服務同步原理
    多個Eureka Server之間也會互相註冊為服務,當服務提供者註冊到Eureka Server叢集中的某個節點時,該節點會把服務的資訊同步給叢集中的每個節點,從而實現資料同步。
    因此,無論客戶端訪問到Eureka Server叢集中的任意一個節點,都可以獲取到完整的服務列表資訊。

二、例項

(1)假設要搭建兩臺EurekaServer的叢集
埠分別為:10086和10087
(2)操作步驟
》把register-with-eureka和fetch-registry修改為true或者註釋掉
》${}表示在jvm啟動時候若能找到對應port或者defaultZone引數則使用,若無則使用後面的預設值
》把service-url的值改成了另外一臺EurekaServer的地址,而不是自己

Eureka服務端高可用配置詳細操作

(1)假設要搭建兩臺EurekaServer的叢集
埠分別為:10086和10087
(2)操作步驟
》把register-with-eureka和fetch-registry修改為true或者註釋掉

spring:
  application:
    name: demo_register_center_eureka_10086
server:
  port: ${port:10086}
eureka:
  client:
    service-url:
      defaultZone: ${defaultZone:http://127.0.0.1:10086/eureka}
      # not register myself
#    register-with-eureka: false
    #not query myself
#    fetch-registry: false

表 示 在 j v m 啟 動 時 候 若 能 找 到 對 應 p o r t 或 者 d e f a u l t Z o n e 參 數 則 使 用 , 若 無 則 使 用 後 面 的 默 認 值 ‘ {}表示在jvm啟動時候若能找到對應port或者defaultZone引數則使用,若無則使用後面的預設值 ` jvmportdefaultZone使使{port:10086} 取VM options的值 -Dport=10086`
》把service-url的值改成了另外一臺EurekaServer的地址,而不是自己

在這裡插入圖片描述在這裡插入圖片描述客戶端註冊服務到叢集
因為EurekaServer不止一個,因此 provider專案註冊服務或者consumer 獲取服務的時候,service-url引數需要修改為如下:

provider application.properties

eureka.client.service-url.defaultZone=http://127.0.0.1:10086/eureka,http://127.0.0.1:10087/eureka

consumer application.yml

eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10086/eureka,http://127.0.0.1:10087/eureka

執行項結果

在這裡插入圖片描述

三、專案完整搭建,及程式碼

https://blog.csdn.net/qq_42150520/article/details/110005472

相關文章