zookeeper系列(一)zookeeper必知
zookeeper系列(二)實戰master選舉
zookeeper系列(三)實戰資料發布訂閱
zookeeper系列(四)實戰負載均衡
zookeeper系列(五)實戰分布式鎖
zookeeper系列(六)實戰分布式佇列
zookeeper系列(七)實戰分布式命名服務
zookeeper系列(八)zookeeper運維
zookeeper的命名服務有兩個應用方向,乙個是提供類似jndi的功能,利用zookeepeer的樹型分層結構,可以把系統中各種服務的名稱、位址以及目錄資訊存放在zookeeper,需要的時候去zookeeper中讀取。
另乙個,是利用zookeeper順序節點的特性,製作分布式的id生成器,寫過資料庫應用的朋友都知道,我們在往資料庫表中插入記錄時,通常需要為該記錄建立唯一的id,在單機環境中我們可以利用資料庫的主鍵自增功能。但在分布式環境則無法使用,有一種方式可以使用uuid,但是它的缺陷是沒有規律,很難理解。利用zookeeper順序節點的特性,我們可以生成有順序的,容易理解的,同時支援分布式環境的序列號。
public class idmaker
public idmaker(string zkserver,string root,string nodename)
// 啟動服務
public void start() throws exception
// 停止服務
public void stop() throws exception
// 初始化服務資源
private void init()catch (zknodeexist***ception e)
}// 釋放伺服器資源
private void freeresource()catch(interruptedexception e)finally
if (client!=null)
}// 檢測當前服務是否正在執行
private void checkrunning() throws exception
// 從順序節點名中提取我們要的id值
private string extractid(string str)
return str;
}// 生成id
public string generateid(removemethod removemethod) throws exceptionelse if (removemethod.equals(removemethod.delay))
});}
//node-0000000000, node-0000000001
return extractid(ourpath);
}}
public class testidmaker
} finally
}}
zookeeper系列(一)zookeeper必知
zookeeper系列(二)實戰master選舉
zookeeper系列(三)實戰資料發布訂閱
zookeeper系列(四)實戰負載均衡
zookeeper系列(五)實戰分布式鎖
zookeeper系列(六)實戰分布式佇列
zookeeper系列(七)實戰分布式命名服務
zookeeper系列(八)zookeeper運維
Zookeeper集群搭建實戰
環境依賴 使用centos7.5 使用如下三颱伺服器 192.168.43.128,192.168.43.129和192.168.43.130 1 zookeeper安裝 tar zxvf zookeeper 3.4.12.tar.gz c opt cd opt mv zookeeper 3.4.1...
Zookeeper系列 Leader選舉
為了徹底搞懂zk選舉leader的過程,需要在windows本地搭建乙個偽集群出來,通過實際操作,觀察集群的節點的變化。但是在實操過程中,發現windows搭建的一些坑,這記錄下。1.參考此部落格進行搭建,2.依次啟動,啟動後,無法使用zkserver.cmd status命令,無法觀察哪乙個節點是...
Zookeeper系列二 Zookeeper原理
從擴充套件性開始講起,在zk中存在的角色有leader,follower,observer。zk是讀寫分離的,所有的寫都會壓到leader上面,讀操作可以在follower上面完成。只有follower才能選擇,observer比follower級別還低。observer只是為了放大查詢能力。乙個集...