<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          “八面玲瓏”的ZooKeeper入門介紹

          共 1879字,需瀏覽 4分鐘

           ·

          2023-10-17 06:43

          歡迎關(guān)注微信公眾號:互聯(lián)網(wǎng)全棧架構(gòu)
          什么是ZooKeeper?我們先來看看官網(wǎng)的定義:

          ZooKeeper是為分布式應(yīng)用而設(shè)計的高性能協(xié)調(diào)服務(wù)。對于一些通用的服務(wù),比如命名、配置管理、同步和分組管理等,ZooKeeper把它們封裝成簡單的接口,這樣就不需要開發(fā)人員從頭開始編寫。你能夠非常便捷地使用它來實現(xiàn)共識、分組管理、領(lǐng)導(dǎo)者選舉和現(xiàn)場協(xié)議。還可以實現(xiàn)你自身的特定需求。

          簡單來講,ZooKeeper是一個開源的分布式系統(tǒng)協(xié)調(diào)服務(wù),對于分布式系統(tǒng)常用的功能,比如分布式鎖、配置管理、leader選舉等提供了支持。

          ZooKeeper維護一個類似文件系統(tǒng)的數(shù)據(jù)模型,跟文件系統(tǒng)不同的是,ZooKeeper在內(nèi)存中維護這些數(shù)據(jù),所以速度會快很多,同時,這些節(jié)點都可以有數(shù)據(jù),因為這些數(shù)據(jù)通常都是一些狀態(tài)、配置、位置等信息,所以它們往往都不太大,在ZooKeeper的術(shù)語中,這些節(jié)點叫做znode:

          znode有四種類型:

          PERSISTENT:持久節(jié)點,是最常見的類型,客戶端與ZooKeeper斷開連接后,該節(jié)點依舊存在。
          PERSISTENT_SEQUENTIAL:持久順序節(jié)點。客戶端與zookeeper斷開連接后,該節(jié)點依舊存在,只是ZooKeeper給該節(jié)點名稱進行順序編號。
          EPHEMERAL:臨時節(jié)點。客戶端與ZooKeeper斷開連接后,該節(jié)點被刪除。臨時節(jié)點不能有子節(jié)點。

          EPHEMERAL_SEQUENTIAL:臨時順序節(jié)點。客戶端與ZooKeeper斷開連接后,該節(jié)點被刪除,只是ZooKeeper給該節(jié)點名稱進行順序編號。

          ZooKeeper中還有一個重要的機制是監(jiān)聽,也就是watch,客戶端可以監(jiān)聽一個znode,如果節(jié)點的數(shù)據(jù)發(fā)生改變,ZooKeeper會通知到客戶端,這非常類似于設(shè)計模式中的觀察者模式(關(guān)于觀察者模式,可以查看之前的一篇文章:一呼百應(yīng):監(jiān)聽變化的觀察者模式)。這個特性對于實現(xiàn)分布式應(yīng)用中的一些通用功能非常有用,比如配置管理、狀態(tài)同步等,只需要把配置、狀態(tài)等信息存放在znode上面,相關(guān)的服務(wù)監(jiān)聽這個節(jié)點,并對這個節(jié)點的改變作出相應(yīng)的處理,即可實現(xiàn)這些功能。

          下面我們開始安裝ZooKeeper,進行一些簡單的操作,讓讀者朋友們有一個簡單的認(rèn)識。后續(xù)文章會繼續(xù)進行講解,包括集群安裝、選舉機制、代碼實例等。安裝之前,請確認(rèn)機器上已經(jīng)安裝了Java。

          把ZooKeeper安裝包上傳到目錄/usr/local中,此處我用的是較新的版本:3.8.3,然后解壓,切換到目錄下,并且重命名配置文件,啟動ZooKeeper:

          tar -zxvf apache-zookeeper-3.8.3-bin.tar.gz
          cd apache-zookeeper-3.8.3-bin
          cp conf/zoo_sample.cfg conf/zoo.cfg
          bin/zkServer.sh start

          使用ZooKeeper客戶端確認(rèn)服務(wù)已經(jīng)正常啟動:bin/zkCli.sh,輸入命令ls /,可以看到里面的內(nèi)容:

          創(chuàng)建一個新節(jié)點:create /fullstack followit

          再次使用命令ls /,就可以看到剛剛創(chuàng)建的新節(jié)點了:

          使用get命令可以看到節(jié)點的詳細(xì)信息,get -s /fullstack

          以上是關(guān)于ZooKeeper的入門介紹,后續(xù)會帶來更多更深入的文章,敬請期待。

          都看到這里了,請幫忙一鍵三連啊,也就是點擊文末的在看、點贊、分享,這樣會讓我的文章讓更多人看到,也會大大地激勵我進行更多的輸出,謝謝!

          鳴謝:

          https://zookeeper.apache.org/doc/current/zookeeperOver.html


          推薦閱讀:

          一呼百應(yīng):監(jiān)聽變化的觀察者模式

          手把手:Spring Cloud Alibaba項目搭建

          春天的故事:Spring框架的入門級知識

          責(zé)無旁貸:超酷的責(zé)任鏈模式

          聚沙成塔:聊聊建造者模式

          公司裁員,碼農(nóng)竟然成了“幫兇”?(劇情杜撰)

          瀏覽 194
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产逼逼 | 蜜芽亚洲日韩欧美 | 欧美性爱-熊猫成人网 | 性视频午夜男女 | 青草资源 |