zookeeper怎麼用
這篇文章有點水,不過 zookeeper 在分散式系統中很有分量,所以有必要水一篇。
zookeeper 的功能非常簡單,就是一個 k-v 資料庫。
下載解壓包後,如下操作:
$ cp conf/zoo_example.cfg conf/zoo.cfg #裡面的 tickTime=2000 表示2秒檢查一次,分散式鎖可以以此作為過期時間 $ bin/zkServer.sh start $ bin/zkCli.sh -server 127.0.0.1:2181 help #檢視幫助 create /foo bar #建立資料 set /foo b #修改資料 create -s /foo bar #得到 /foo0000000001 create -s /foo bar #得到 /foo0000000002 create -e /foo1 bar #得到臨時key
可以看到用 create -s 時可以用來做遞增 id 生成器,create -e 可以用來做分散式鎖。
zookeeper功能簡單,但是原理非常複雜。是一個每個節點都可讀可寫的叢集,內部用 paxos 演算法實現資料同步。因為每個節點都可寫,所以效能非常好。