SpringCloud Nacos原始碼分析

2021-10-03 14:46:45 字數 2251 閱讀 8610

開啟

為什麼這樣修改引數,那就要檢視原始碼了!!!systemutils類

/**

* the system property name of standalone mode

*/public

static

final string standalone_mode_property_name =

"nacos.standalone"

;/**

* the key of nacos home.

*/public

static

final string nacos_home_key =

"nacos.home"

;/**

* 獲取nacos配置目錄,預設c:\users\使用者名稱\nacos

*/private

static string getnacoshome()

return nacoshome;

}

/**

* 如果單例模式=true,那麼採用單機執行,否則是集群模式。

*/@override

public

void

environmentprepared

(configurableenvironment environment)

else

system.

setproperty

(local_ip_property_key, local_ip)

;}

db.num=

1db.url.

0=jdbc:mysql://

127.0

.0.1

:3306

/nacos_config?characterencoding=utf8&connecttimeout=

1000

&sockettimeout=

3000

&autoreconnect=

true

db.user=**

db.password=

**

debug模式執行程式,開啟原始碼除錯!

** 服務註冊**:nacos client會通過傳送rest請求的方式向nacos server註冊自己的服務,提供自身的元資料,比如ip位址、埠等資訊。

nacos server接收到註冊請求後,就會把這些元資料資訊儲存在乙個雙層的記憶體map中。

服務心跳:在服務註冊後,nacos client會維護乙個定時心跳來持續通知nacos server,說明服務一直處於可用狀態,防止被剔除。預設 5s傳送一次心跳。

服務同步:nacos server集群之間會互相同步服務例項,用來保證服務資訊的一致性。

服務發現:服務消費者(nacos client)在呼叫服務提供者的服務時,會傳送乙個rest請求給nacos server,獲取上面註冊的服務清 單,並且快取在nacos client本地,同時會在nacos client本地開啟乙個定時任務定時拉取服務端最新的登錄檔資訊更新到本地快取 服務

健康檢查:nacos server會開啟乙個定時任務用來檢查註冊服務例項的健康情況,對於超過15s沒有收到客戶端心跳的例項會將它的 healthy屬性置為false(客戶端服務發現時不會發現),如果某個例項超過30秒沒有收到心跳,直接剔除該例項(被剔除的例項如果恢**送 心跳則會重新註冊)

Cartographer原始碼篇 原始碼分析 1

在安裝編譯cartographer 1.0.0的時候,我們可以看到 主要包括cartorgarpher ros cartographer ceres sover三個部分。其中,ceres solver用於非線性優化,求解最小二乘問題 cartographer ros為ros平台的封裝,獲取感測器資料...

AbstractListView原始碼分析3

normal list that does not indicate choices public static final int choice mode none 0 the list allows up to one choice public static final int choice ...

Android AsyncTask原始碼分析

android中只能在主線程中進行ui操作,如果是其它子執行緒,需要借助非同步訊息處理機制handler。除此之外,還有個非常方便的asynctask類,這個類內部封裝了handler和執行緒池。本文先簡要介紹asynctask的用法,然後分析具體實現。asynctask是乙個抽象類,我們需要建立子...