zookeeper詳細說明

2021-10-04 16:47:49 字數 936 閱讀 3488

zookeeper的目的,為分布式應用提供分布式的協同服務。

zk提供了一組原語,分布式系統可以根據這組原語構建更高階別的服務:比如同步、配置維護、組和命名。

zookeeper的znode類似於檔案系統,只不過每個節點還可以額外存放資料。

當節點發生變化時(建立、刪除、資料變更),可以通知各個客戶端。

因此zookeeper可以應用的場景有:

1.    統一配置:把配置放在zookeeper的節點中維護,當配置變更時,客戶端可以收到變更的通知,並應用最新的配置。

2.    集群管理:集群中的節點,建立ephemeral的節點,一旦斷開連線,ephemeral的節點會消失,其它的集群機器可以收到訊息。

3.    分布式鎖:多個客戶端發起節點建立操作,只有乙個客戶端建立成功,從而獲得鎖。

構建正確的協同服務非常的困難,特別是那些資源競爭、死鎖等情況,通過zk,分布式系統不需要從新開始構建協同服務。

zk提供的原語包含:

1.    create

2.    delete

3.    exists

4.    get data

5.    set data

6.    get chiledren

7.    sync

1.    足夠簡單:結構類似檔案系統的(結點可以帶資料,但是不能太大)

2.    冗餘:保證可靠性

3.    順序

4.    快:基於記憶體的操作

zookeeper保證了:

1. 順序一致性:客戶端的操作會被按照順序執行

2. 原子性:操作要不失敗要不成功

3. 可靠性:一旦寫入成功,資料就會被保持,直到下次覆蓋。

4. 實時性

5. 單一系統映象(single system image):不管連線到zk集群的那台機器,客戶端看到的檢視都是一致的

Struts config xml 詳細說明

頁面中表單對應的bean儲存表單資料,驗證 type hello.helloform formbean 對應的包名.類名 路徑的邏輯名,此項必須有 path action1.do 指向 或重定向的uri.此項是必需的,必須以 開頭.請求訪問action的路徑,必須以 開頭 type hello.he...

Struts config xml 詳細說明

頁面中表單對應的bean儲存表單資料,驗證 type hello.helloform formbean 對應的包名.類名 name forward1 路徑的邏輯名,此項必須有 path action1.do 指向 或重定向的uri.此項是必需的,必須以 開頭.name forward2 path a...

Linux free m 詳細說明

linux記憶體中buffer與cache的區別 free 命令相對於top 提供了更簡潔的檢視系統記憶體使用情況 free total used free shared buffers cached mem 255268 238332 16936 0 85540 126384 buffers ca...