為什么使用注冊中心
對于服務提供方,它需要發布服務,而且由于應用系統的復雜性,服務的數量、類型也不斷膨脹;對于服務消費方,它最關心如何獲取到它所需要的服務,而面對復雜的應用系統, 需要管理大量的服務調用。
而且,對于服務提供方和服務消費方來說,他們還有可能兼具這兩種角色,即需要提供服務,有需要消費服務。 通過將服務統一管理起來,可以有效地優化內部應用對服務發布/ 使用的流程和管理。服務注冊中心可以通過特定協議來完成服務對外的統一。
Dubbo 提供的注冊中心有如下幾種類型可供選:
Multicast 注冊中心:組播方式
Redis 注冊中心:使用 Redis 作為注冊中心
Simple 注冊中心:就是一個 dubbo 服務。作為注冊中心。提供查找服務的功能。
Zookeeper 注冊中:使用 Zookeeper 作為注冊中心
推薦使用 Zookeeper 注冊中心。
Zookeeper 是 Apacahe Hadoop 的子項目,是一個樹型的目錄服務,支持變更推送,適合作為 Dubbo 服務的注冊中心,工業強度較高,可用于生產環境,并推薦使用。
Zookeeper 就像是 windows 的資源管理器,包含了所有的文件。都可以在這里找到。服務提供者和服務消費者,都在注冊中心登記。服務消費者使用的訪問地址不用寫死。而且注冊中心使用“心跳”機制更新服務提供者的狀態。不能使用的服務提供者會自動從注冊中心刪除。服務提供者不會調用不能使用的服務。
Zookeeper 是一個高性能的,分布式的,開放源碼的分布式應用程序協調服務。簡稱 zk。Zookeeper 是翻譯管理是動物管理員。可以理解為 windows 中的資源管理器或者注冊表。他是一個樹形結構。這種樹形結構和標準文件系統相似。ZooKeeper 樹中的每個節點被稱為Znode。和文件系統的目錄樹一樣,ZooKeeper 樹中的每個節點可以擁有子節點。每個節點表示一個唯一服務資源。Zookeeper 運行需要 java 環境。
圖一:
官網下載地址: http://zookeeper.apache.org/
進入官網地址,首頁找到下載地址,現在穩定版本是 3.4.10
點擊“Download”
下載 3.4.10 版
下載的文件 zookeeper-3.4.10.tar. 解壓后到目錄就可以了,例如 d:/servers/ zookeeper-3.4.10
修改 zookeeper-3.4.10/conf/ 目錄下配置文件
復制 zoo-sample.cfg 改名為 zoo.cfg
文件內容:
tickTime: 心跳的時間,單位毫秒. Zookeeper 服務器之間或客戶端與服務器之間維持心跳的時間間隔,也就是每個 tickTime 時間就會發送一個心跳。表明存活狀態。
dataDir: 數據目錄,可以是任意目錄。存儲 zookeeper 的快照文件、pid 文件,默認為/tmp/zookeeper,建議在 zookeeper 安裝目錄下創建 data 目錄,將 dataDir 配置改為/usr/local/zookeeper-3.4.10/dataclientPort: 客戶端連接 zookeeper 的端口,即 zookeeper 對外的服務端口,默認為 2181
①:上傳 zookeeper-3.4.10.tar.gz 并解壓
解壓文件 zookeeper-3.4.10.tar.gz
執行命令:tar -zxvf zookeeper-3.4.10.tar.gz -C /usr/local/
查看已解壓:
②:配置文件
在 zookeeper 的 conf 目錄下,將 zoo_sample.cfg 改名為 zoo.cfg,cp zoo_sample.cfg zoo.cfg
進入 zookeeper 目錄下的 conf
拷貝樣例文件 zoo-sample.cfg 為 zoo.cfg
③:啟動 Zookeeper
啟動(切換到安裝目錄的 bin 目錄下):./zkServer.sh start
④:關閉 Zookeeper
關閉(切換到安裝目錄的 bin 目錄下):./zkServer.sh stop
Zookeeper 圖形界面的客戶端:ZooInspector. 使用方式:Windows 上解壓 ZooInspector 文件
主界面:
配置連接:
連接成功: