zookeeper 密码_Dubbo、ZooKeeper介绍
dubbo是一個分布式架構(gòu)的服務(wù)框架,一般結(jié)合maven的模塊式開發(fā)使用。
傳統(tǒng)的單架構(gòu)項目,不方便維護和升級;
通過maven的模塊式開發(fā),就可以把一個單架構(gòu)的工程,拆封成一個一個的小模塊,包括(jar和war);jar包可以被war包直接應(yīng)用。war包可以分布式部署,但是這樣不同的war之間的交互就成為了問題。
我們之前的做法是,兩個war之間進行交互時,一般采用webservice或httpclient。但是在這種分布式架構(gòu)中,多個war之間的交互會特別頻繁,如果用webservice或httpclient架構(gòu)師很多時候自己都搞不清楚他們之間的依賴關(guān)系了。而dubbo解決了這個問題,有了dubbo架構(gòu)以后,多個war之間不在直接進行交互,而是統(tǒng)一和dubbo的注冊中心zookeeper進行交互。無論是發(fā)布服務(wù)還是調(diào)用服務(wù),都通過dubbo實現(xiàn),并且提供了web頁面,來監(jiān)控和管理各個接口直接的調(diào)用。
使用時首先搭建dubbo的注冊中心zookeeper,然后下載dubbo的服務(wù)治理工程dubbo_admin.war,解壓修改他的配置文件dubbo.properties,設(shè)置用戶名、密碼和注冊中心zookeeper的ip、端口。部署到Tomcat的webapp中,啟動Tomcat,瀏覽器用ip+端口訪問,就可以看到dubbo_admin的web頁面了。接著在我們要發(fā)布或者調(diào)用服務(wù)的項目中,導(dǎo)入dubbo提供的相關(guān)jar包,加載配置文件,把要發(fā)布的服務(wù)注冊到zookeeper里邊。或者從zookeeper里邊調(diào)用服務(wù)就可以了。dubbo_admin的web頁面中,可以監(jiān)控和管理所有的服務(wù)提供者和調(diào)用者。
在dubbo架構(gòu)中,service接口和實體對象是各個工程共享的,service實現(xiàn)類是發(fā)布服務(wù)的工程獨有的。只需要發(fā)布服務(wù)的工程把他的接口注冊到zookeeper中,其他工程就可以從zookeeper中進行調(diào)用了。
用dubbo的好處是:把項目拆分成各個獨立的小工程,通過接口調(diào)用方式,互相交互數(shù)據(jù),可以單獨進行部署和升級,這樣就減少了他們直接的耦合性和代碼的復(fù)用性。還可以針對不同模塊采用不同的部署策略,比如訂單模塊并發(fā)比較高,所以可以把訂單模塊這個war包,單獨部署多套,都注冊到同一個zookeeper中。當(dāng)客戶端調(diào)用時,zookeeper會幫忙進行負(fù)載處理。
Zookeeper主要功能是為分布式系統(tǒng)提供一致性協(xié)調(diào)(Coordination)服務(wù),主要有兩大功能:統(tǒng)一配置管理和集群負(fù)載均衡,
統(tǒng)一配置管理:分布式系統(tǒng)都有好多機器,這些機器上邊的配置是一致的,正常情況下需要修改好一個以后,然后scp到其他服務(wù)器,每次修改,就要把所有的配置都修改一遍,Zookeeper提供了這樣的一種服務(wù):一種集中管理配置的方法,我們在這個集中的地方修改了配置,所有對這個配置感興趣的都可以獲得變更。這樣就省去手動拷貝配置了,還保證了可靠和一致性。?
集群負(fù)載均衡:在分布式的集群中,經(jīng)常會由于各種原因,比如硬件故障,軟件故障,網(wǎng)絡(luò)問題,有些節(jié)點會進進出出。有新的節(jié)點加入進來,也有老的節(jié)點退出集群。這個時候,集群中有些機器(比如Master節(jié)點)需要感知到這種變化,然后根據(jù)這種變化做出對應(yīng)的決策。Zookeeper會對通過選舉機制,選舉一個主節(jié)點作為管理者。選舉一般都是奇數(shù)臺,否則會選舉失敗。并且集群中,有半數(shù)以上宕機,則會認(rèn)為整個集群掛掉。
我們項目中用到Zookeeper的地方主要有:solr集群、redis集群和dubbo注冊中心。
總結(jié)
以上是生活随笔為你收集整理的zookeeper 密码_Dubbo、ZooKeeper介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java aio socket_java
- 下一篇: 斑能不能彻底去掉_淡妆能不能只用洗面奶卸