Eureka

Eureka

高可用架構

基本原則

一、消除單點失敗spring

二、可靠性交迭服務器

三、故障探測架構

可用性比率計算

經過時間來計算(一年或者一月)app

好比一年99.99%:dom

可用時間:365 * 24 * 3600 * 99.99%性能

不可用時間:365 * 24 * 3600 * 0.01%=3153.6秒<1小時fetch

單臺機器可用率99%,不可用就爲1%。要想服務提高到萬分之一,就加一臺機器,不可用就變爲1%*1%雲計算

Spring cloud Eureka

 ## Server @EnableEurekaServer

config

  ### Eureka Server 應用名稱
  spring.application.name =
    ### Eureka Server 服務端口
  server.port =
  ### 取消服務器自我註冊
  eureka.client.register-with-eureka=false
  ### 不須要檢索服務
  eureka.client.fetch-registry=false
  ### Eureka Server 服務 URL,用於客戶端註冊
  eureka.client.serverUrl.defaultZone=http://localhost:${server.port}/eureka

Client @EnableEurekaClient

 

 

配置高可用Eureka

1.服務端:只需修改server端口,啓動多個Eureka服務端便可spa

2.客戶端:配置eureka.client.serverUrl.defaultZone爲多個地址,一逗號分割便可。(注:註冊時,會找到第一個可用的server,當server掛掉後,再找下一個可用的server)日誌

彩蛋:配置指定範圍隨機端口號 ${random.int[7071,7079]}

 

獲取註冊信息時間間隔

EurekaClient--->Applications--->Application--->InstanceInfo

application.properties

 ###調整註冊信息的獲取週期,默認值30秒
 eureka.client.registryFetchIntervalSeconds = 5
 

實例信息複製時間間隔

具體是客戶端信息上報到Eureka服務器時間。

當Eureka客戶端應該上報的約頻繁,那麼Eureka服務器的應用狀態管理性能一致性就越高

 ###客戶端信息上報到Eureka服務器週期
 instanceInfoReplicationIntervalSeconds = 5

 

修改應用實例ID格式

 eureka.instance.instanceId=${spring.application.name}:${server.port}

實例端點映射

客戶端應用實例狀態URL修改,默認是/info,(EurekaInstanceConfigBean)

 ###客戶端應用實例狀態URL修改
 eureka.instance.statusPageUrlPath=/health

Eureka服務器雙向可用(複製數據)

既作服務器,也作客戶端,

1.打開下面配置

  ### 取消服務器自我註冊
  eureka.client.register-with-eureka=ture
  ### 不須要檢索服務
  eureka.client.fetch-registry=ture

2.設置註冊服務器

  eureka.client.serverUrl.defaultZone=http://localhost:${server.port}/eureka

 

問答

  • 爲何要用Eureka?

    目前業界比較穩定雲計算的開發員中間件,雖然有一些不足,基本上可用

  • spring cloud日誌收集

    一版用HBase或TSDB、elk

相關文章
相關標籤/搜索