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