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