Apache ZooKeeper 是一個面向分布式應(yīng)用程序的高性能協(xié)調(diào)服務(wù)器, 至于它的具體介紹像能提供命名和配置管理、同步和組服務(wù)等, 請自個 Google. 雖然對 ZooKeeper 早有耳聞, 也只最近因為項目中有 Kafka 內(nèi)部用到了 ZooKeeper, 所以才促使我著手去了解一下 ZooKeeper 為何物. ZooKeeper 脫胎于著名的項目 Hadoop, 它也像 Hazelcast 那樣未采用嚴格意義的 Master-Slave 的集群方式, 而是動態(tài)選出 Leader, 這避免了單點故障的問題.
既然是集群, 實際應(yīng)用是會在不同的機器上啟動服務(wù), 現(xiàn)如今有了 docker 很容易用它來測試多主機環(huán)境, 用 docker search zookeeper
就知道了. 本實例中暫不涉及 docker, 而是在同一個系統(tǒng)中用多個端口來啟動三個 ZooKeeper 實例進行測試. 下面以 Mac/Linux 為例:
到 https://zookeeper.apache.org/releases.html#download 下載, 寫下此文時的最新穩(wěn)定版是 zookeeper-3.4.9.tar.gz, 下載后解壓到某處, 為方便起見把解壓后的 zookeeper-3.4.9/bin 加到系統(tǒng)環(huán)境變量 $PATH 中, 以后方便任何時候運行 zkServer.sh, zkCli.sh 這樣的命令. 閱讀全文 >>