大家好,我是悟空呀~

上兩篇講解 Eureka 源碼的文章過于硬核:

領(lǐng)導(dǎo)讓我研究 Eureka 源碼 | 啟動過程

領(lǐng)導(dǎo)“叕”讓我研究 Eureka 源碼:注冊過程

本篇將會給大家講解我在本地搭建的 Eureka 集群環(huán)境下,Eureka 控制臺的參數(shù)說明。

系統(tǒng)狀態(tài)

首先就得進入Eureka控制臺頁面,本地可以通過訪問 http://localhost:8762/ 打開。

最上面的是 System Status,就是系統(tǒng)狀態(tài)。

System Status

Environment: 環(huán)境,默認(rèn)為?test

Data center:數(shù)據(jù)中心,默認(rèn)為?default。

Current time:當(dāng)前的系統(tǒng)時間。

Uptime:已經(jīng)運行了多長時間。

Lease expiration enabled:是否啟用租約過期 ,自我保護機制關(guān)閉時,該值默認(rèn)是 true, 自我保護機制開啟之后為 false。

Renews threshold:期望每分鐘最少續(xù)約數(shù)。也就是 Eureka Server 期望每分鐘收到客戶端實例續(xù)約的總數(shù)。目前悟空我的機器上顯示的 3 個。

Renews (last min):最后一分鐘的續(xù)約數(shù)量(不含當(dāng)前,1分鐘更新一次),Eureka Server 最后 1 分鐘收到客戶端實例續(xù)約的總數(shù)。目前悟空我的機器上顯示的 2 個。

自我保護機制

系統(tǒng)在三種情況下會出現(xiàn)紅色加粗的字體提示:

  • 1)自我保護機制配置已經(jīng)配置成關(guān)閉了。

RENEWALS ARE LESSER THAN THE THRESHOLD. THE SELF PRESERVATION MODE IS TURNED OFF.THIS MAY NOT PROTECT INSTANCE EXPIRY IN CASE OF NETWORK/OTHER PROBLEMS.

關(guān)閉自我保護模式

eureka.server.enable-self-preservation?=?false
  • 2)自我保護機制開啟了

EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEYRE NOT. RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPIRED JUST TO BE SAFE.

Eureka 的自我保護模式是非常有意義的,該模式被激活后,它不會從注冊列表中剔除因長時間沒收到心跳導(dǎo)致租期過期的服務(wù),而是等待修復(fù),直到心跳恢復(fù)正常之后,它自動退出自我保護模式。

這種模式旨在避免因網(wǎng)絡(luò)分區(qū)故障導(dǎo)致服務(wù)不可用的問題。

例如:兩個客戶端實例 C1 和 C2 的連通性是良好的,但是由于網(wǎng)絡(luò)故障,C2 未能及時向 Eureka 發(fā)送心跳續(xù)約,這時候 Eureka 不能簡單的將 C2 從注冊表中剔除。因為如果剔除了,C1 就無法從 Eureka 服務(wù)器中獲取 C2 注冊的服務(wù),但是這時候 C2 服務(wù)是可用的。

  • 3)在配置上,自我保護機制關(guān)閉了,但是一分鐘內(nèi)的續(xù)約數(shù)沒有達(dá)到85% , 可能發(fā)生了網(wǎng)絡(luò)分區(qū),會有如下提示

THE SELF PRESERVATION MODE IS TURNED OFF.THIS MAY NOT PROTECT INSTANCE EXPIRY IN CASE OF NETWORK/OTHER PROBLEMS.

集群信息

DS Replicas 代表集群信息,當(dāng)有多個 Eureka Server 組成集群時,DS Replicas 會展示集群 的其他節(jié)點。當(dāng)前是單節(jié)點的。

如果配置成集群環(huán)境,則會顯示其他服務(wù),而且在服務(wù)實例列表里面也會顯示集群節(jié)點。

![圖片]()

已注冊的實例列表

已注冊的實例列表會顯示在 Instances currently registered with Eureka 列表里面。目前顯示了一個,

名稱:SERVICEA

狀態(tài):UP?(1) - localhost:ServiceA:8006

通用信息

total-avail-memory?: 總共可用的內(nèi)存,598 MB。

environment?: 環(huán)境名稱,默認(rèn) test。

num-of-cpus?: CPU 的個數(shù),12 核。

current-memory-usage?: 當(dāng)前已經(jīng)使用內(nèi)存的百分比,使用了 110 MB,使用率 18%。

server-uptime?: 服務(wù)已啟動時間,6 分鐘。

registered-replicas?: 當(dāng)前 Eureka Server 是往哪個 Eureka Server 進行注冊的。悟空我的本機是 eureka-server1 往 eureka-server 2 進行注冊了。

unavailable-replicas?:不可用的集群復(fù)制節(jié)點,用法沒懂。

available-replicas?:可用的相鄰集群復(fù)制節(jié)點。

服務(wù)實例信息

ipAddr:Eureka 服務(wù)端 IP。status:Eureka 服務(wù)端狀態(tài)。

最近 1000 個取消的租約

Last 1000 cancelled leases 這個列表里面會顯示最近 1000 個取消的租約。

Last 1000 newly registered leases,這個列表里面會顯示 最后1000個新注冊的租約。比如悟空我的機器上就是 Service A。

歡迎關(guān)注我的公眾號:悟空聊架構(gòu)。硬核圖解架構(gòu)~