【Zookeeper】基礎學習概覽【彙總】

1、概述

1.1 簡介

  Zookeeper是一個分佈式開源框架(Java語言編寫開源框架),是一個分佈式協調工具,提供了協調分佈式應用的基本服務,它向外部應用暴露一組通用服務 ,分佈式同步(Distributed Synchronization)、命名服務(Naming Service)、集羣維護(Group Maintenance)等,簡化分佈式應用協調及其管理的難度,提供高性能的分佈式服務。ZooKeeper自己能夠以單機模式安裝運行,不過它的長處在於經過分佈式ZooKeeper集羣(一個Leader,多個Follower),基於必定的策略來保證ZooKeeper集羣的穩定性和可用性,從而實現分佈式應用的可靠性。html

  • 一、Zookeeper是爲別的分佈式程序服務的
  • 二、Zookeeper自己就是一個分佈式程序(只要有半數以上節點存活,zk就能正常服務)
  • 三、Zookeeper所提供的服務涵蓋:主從協調、服務器節點動態上下線、統一配置管理、分佈式共享鎖、統一名稱服務等
  • 四、雖說能夠提供各類服務,可是zookeeper在底層其實只提供了兩個功能:
    • 管理(存儲,讀取)用戶程序提交的數據(相似namenode中存放的metadata);
    • 併爲用戶程序提供數據節點監聽服務;

1.2 Zookeeper集羣機制

  Zookeeper集羣的角色: Leader 和 follower
只要集羣中有半數以上節點存活,集羣就能提供服務java

1.3 Zookeeper特性

  • 一、Zookeeper:一個leader,多個follower組成的集羣
  • 二、全局數據一致:每一個server保存一份相同的數據副本,client不管鏈接到哪一個server,數據都是一致的
  • 三、分佈式讀寫,更新請求轉發,由leader實施
  • 四、更新請求順序進行,來自同一個client的更新請求按其發送順序依次執行
  • 五、數據更新原子性,一次數據更新要麼成功,要麼失敗
  • 六、實時性,在必定時間範圍內,client能讀到最新數據

2、Zookeeper應用場景

  1. 命名服務(註冊中心) Dubbo註冊中心
  2. 分佈式配置中心(SpringCloud config. )動態管理配置文件信息
  3. 消息中間件事件通知(相似與發佈訂閱功能)
  4. Zookeeper分佈式事務( 全局協調者)
  5. Zookeeper實現分佈式鎖,
  6. Zookeeper能夠實現選舉策略(哨 兵機制)
  7. Zookeeper實現本地動態負載均衡(Dubbo服 務負載均衡原理)
  8. 消息中間集羣管理(Zookeeper )node

  • 註冊中心都是集羣版本Consul、Eureka、 Zookeeper 、Redis
  • 分佈式系統核心在於服務治理

【Zookeeper】應用場景概述服務器

3、Zookeeper數據結構

Zookeeper數據結構Zookeeper數據結構

  • 一、層次化的目錄結構,命名符合常規文件系統規範(相似文件系統)
  • 二、每一個節點在zookeeper中叫作znode,而且其有一個惟一的路徑標識
  • 三、節點Znode能夠包含數據和子節點(可是EPHEMERAL類型的節點不能有子節點)
    節點類型:數據結構

    • a、Znode有兩種類型:
      • 短暫(ephemeral)(create -e /app1/test1 「test1」 客戶端斷開鏈接zk刪除ephemeral類型節點)
      • 持久(persistent) (create -s /app1/test2 「test2」 客戶端斷開鏈接zk不刪除persistent類型節點)
    • b、Znode有四種形式的目錄節點(默認是persistent )
      • PERSISTENT
      • PERSISTENT_SEQUENTIAL(持久序列/test0000000019 )
      • EPHEMERAL
      • EPHEMERAL_SEQUENTIAL
    • c、建立znode時設置順序標識,znode名稱後會附加一個值,順序號是一個單調遞增的計數器,由父節點維護
    • d、在分佈式系統中,順序號能夠被用於爲全部的事件進行全局排序,這樣客戶端能夠經過順序號推斷事件的順序

    Zookeeper結構Zookeeper結構

4、Zookeeper安裝

【Zookerper】 安裝開啓app

5、Java操做Zookeeper

【Zookeeper】 在Java中的操做負載均衡

6、Zookeeper實現負載均衡

【Zookeeper】實現負載均衡原理框架

7、Zookeeper 分佈式鎖

【Zookeeper】分佈式鎖分佈式

8、Zookeeper實現服務Master選舉策略(哨兵機制)

【Zookeeper】實現哨兵機制(選舉策略)工具

9、Zookeeper 集羣搭建

【Zookeeper】集羣環境搭建

原文出處:https://www.cnblogs.com/haoworld/p/zookeeper-ji-chu-xue-xi-gai-lan-hui-zong.html

相關文章
相關標籤/搜索