1. 程式人生 > >從零開始學spring cloud(七) -------- Eureka 高可用機制

從零開始學spring cloud(七) -------- Eureka 高可用機制

後端 url ima 監視 獨立 緩存 eureka word 情況下

一、Eureka高可用機制介紹

技術分享圖片

Eureka服務器沒有後端存儲,但註冊表中的服務實例都必須發送心跳以使其註冊保持最新(因此可以在內存中完成)。 客戶端還有一個Eureka註冊的內存緩存(因此,他們不必為服務的每個請求轉到註冊表)。

默認情況下,每個Eureka服務器也是Eureka客戶端,並且需要(至少一個)服務URL來定位對等體。 如果您不提供該服務,該服務將運行並正常運行,但它會在您的日誌中填充很多關於無法向對等方註冊的噪音。

二、實現Eureka高可用

技術分享圖片

兩個緩存(客戶端和服務器)和心跳的組合使得獨立的Eureka服務器能夠非常適應故障,只要有某種監視器或彈性運行時(例如Cloud Foundry)使其保持活動狀態即可。 在獨立模式下,您可能更願意關閉客戶端行為,以便它不會繼續嘗試並且無法訪問其對等方。 以下示例顯示如何關閉客戶端行為:

下面看一下項目中,是如何應用的,看一下配置文件

spring:
  application:
    name: EUREKA-HA
  security:
    user:
      name: user
      password: password123
---
server:
  port: 8761
spring:
  profiles: peer1
eureka:
  instance:
    hostname: peer1
  client:
    serviceUrl:
      defaultZone: http://user:[email protected]:8762/eureka/,
http://user:[email protected]:8763/eureka/ --- server: port: 8762 spring: profiles: peer2 eureka: instance: hostname: peer2 client: serviceUrl: defaultZone: http://user:[email protected]:8761/eureka/,http://user:[email protected]:8763/eureka/ --- server: port: 8763 spring: profiles: peer3 eureka: instance: hostname: peer3 client: serviceUrl: defaultZone: http:
//user:[email protected]:8761/eureka/,http://user:[email protected]:8762/eureka/

idea啟動配置中,做如下配置:

技術分享圖片

在系統的hosts中,增加127.0.0.1 peer1 peer2 peer3

然後啟動3個項目,通過瀏覽器訪問任意一個eureka,就可以出現如下的界面,

技術分享圖片

從零開始學spring cloud(七) -------- Eureka 高可用機制