Zookeeper應用場景

2021-07-02 00:02:20 字數 876 閱讀 7136

分布式佇列

fifo(先進先出)

barrier(同步佇列)

共享鎖集群管理

leader選舉

命名服務

分布式應用配置項的管理等

fifo設計思路

1.在/queue-fifo的目錄下建立 sequential 型別的子目錄 /x(i),這樣就能保證所有成員加入佇列時都是有編號的。

2.出佇列時通過 getchildren( ) 方法可以返回當前所有的佇列中的元素,然後消費其中最小的乙個,這樣就能保證fifo

barrier(同步佇列)

當乙個佇列的成員都聚齊時,這個佇列才可用,否則一直等待所有成員到達,這種是同步佇列。

例如:遠端會議,所有人到齊了,才開始

barrier設計思路

同步佇列初始化

建立乙個父目錄 /synchronizing,代表同步佇列

進入佇列

建立子節點 /synchronizing/member_i

查人數人齊了(子節點個數=參會人員個數)

建立 /synchronizing/start,開始開會

/synchronizing/start 節點一旦建立就證明人到齊了

人不齊等待 /synchronizing/start 的出現

共享鎖zookeeper 可以實現跨程序或者在不同 server 之間的共享

建立鎖建立乙個父節點/locks 代表同步鎖

每個程序啟動的同時在/locks下面建立子節點/locks/member_i,並且儲存自己的ip位址獲得鎖

查詢/locks下子節點編號最小的哪乙個,檢視資料是否為自己的ip位址,如果是的話,就代表獲得鎖,否則繼續等待

釋放鎖執行完業務操作,把自己建立的節點刪除,就代表釋放鎖

Zookeeper應用場景

zookeeper是乙個高可用的分布式資料管理與系統協調框架。基於對paxos演算法的實現,使該框架保證了分布式環境中資料的強一致性,也正是基於這樣的特性,使得zookeeper能夠應用於很多場景。網上對zk的使用場景也有不少介紹,本文將結合作者身邊的專案例子,系統的對zk的使用場景進行歸類介紹。值...

Zookeeper應用場景

zookeeper 分布式服務框架是 apache hadoop 的乙個子專案,主要是用來解決分布式應用中經常遇到的一些資料管理問題。如 集群管理 統一命名服務 分布式配置管理 分布式訊息佇列 分布 式鎖 分布式通知協調等。越來越多的分布式計算開始強依賴zk,比如storm hbase zookee...

ZooKeeper典型應用場景

zookeeper 是乙個開源的高可用的分布式資料管理與系統協調框架,基於對 paxos 演算法的實現,保證了分布式環境中資料的強一致性。發布與訂閱模型 發布者發布資料到 zk 節點上,供訂閱者動態獲取資料。在資料量很少,但是資料更新快的場景下 訊息中介軟體中的發布者和訂閱者的負載均衡,linked...