日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

001_ZooKeeper简介

發(fā)布時(shí)間:2025/4/17 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 001_ZooKeeper简介 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1. ZooKeeper是一個(gè)高性能的分布式應(yīng)用程序協(xié)調(diào)服務(wù)。它暴露了一些常用服務(wù), 例如命名注冊(cè), 配置管理, 同步控制和群組服務(wù)。我們可以使用ZooKeeper來實(shí)現(xiàn)達(dá)成共識(shí), 集群管理, 領(lǐng)導(dǎo)者選舉和制定協(xié)議。您可以根據(jù)自己的特定需求在此基礎(chǔ)上進(jìn)行構(gòu)建。

2. ZooKeeper的目標(biāo)就是封裝好復(fù)雜易出錯(cuò)的關(guān)鍵服務(wù), 將簡(jiǎn)單易用的接口和性能高效、功能穩(wěn)定的系統(tǒng)提供給用戶。

3. ZooKeeper是以Fast Paxos算法為基礎(chǔ)的, Paxos算法存在活鎖的問題, 即當(dāng)有多個(gè)proposer交錯(cuò)提交時(shí), 有可能互相排斥導(dǎo)致沒有一個(gè)proposer能提交成功, 而Fast Paxos做了一些優(yōu)化, 通過選舉產(chǎn)生一個(gè)leader(領(lǐng)導(dǎo)者), 只有l(wèi)eader才能提交proposer, 具體算法可見Fast Paxos。因此, 要想弄懂ZooKeeper首先得對(duì)Fast Paxos有所了解。

4. ZooKeeper數(shù)據(jù)結(jié)構(gòu)

4.1. 在ZooKeeper中, znode是一個(gè)跟Unix文件系統(tǒng)路徑相似的節(jié)點(diǎn), 可以以key-value的形式往這個(gè)節(jié)點(diǎn)存儲(chǔ)或獲取數(shù)據(jù)。名稱key是由斜線/分割的一系列路徑元素, ZooKeeper 名稱空間中的每個(gè)節(jié)點(diǎn)都是由一個(gè)路徑標(biāo)識(shí)的。

4.2. 如果在創(chuàng)建znode時(shí)Flag設(shè)置為EPHEMERAL, 那么當(dāng)創(chuàng)建這個(gè)znode的節(jié)點(diǎn)的客戶端和ZooKeeper失去連接后, 這個(gè)znode也將自動(dòng)刪除。ZooKeeper客戶端和服務(wù)器采用長連接方式, 每個(gè)客戶端和服務(wù)器通過心跳來保持連接, 這個(gè)連接狀態(tài)稱之為會(huì)話(Session), 如果znode是臨時(shí)節(jié)點(diǎn), 當(dāng)Session結(jié)束的時(shí)候, znode也不存在了, 即臨時(shí)節(jié)點(diǎn)是會(huì)話級(jí)別的。

4.3. znode可以有子節(jié)點(diǎn)目錄, 被標(biāo)記為EPHEMERAL的節(jié)點(diǎn)不能有子節(jié)點(diǎn)目錄。

4.4. znode是有版本的, 每個(gè)znode中存儲(chǔ)的數(shù)據(jù)可以有多個(gè)版本, 也就是一個(gè)訪問路徑可以存儲(chǔ)多份數(shù)據(jù)。

4.5. ZooKeeper使用Watcher察覺事件信息。當(dāng)客戶端接收到事件信息, 比如連接超時(shí)、節(jié)點(diǎn)數(shù)據(jù)改變、子節(jié)點(diǎn)改變, 可以調(diào)用相應(yīng)的行為來處理數(shù)據(jù)。

5. ZooKeeper組成

5.1. ZooKeeper Server根據(jù)其身份特性分成三種: Leader, Follower和Observer。

5.2. Leader: 負(fù)責(zé)客戶端的Writer類型請(qǐng)求。

5.3. Follower: 負(fù)責(zé)客戶端Reader類型請(qǐng)求, 參與Leader選舉等。

5.4. Observer: 特殊的Follower, 其可以接受客戶端Reader請(qǐng)求, 但不參與選舉。

6. ZooKeeper應(yīng)用場(chǎng)景

6.1. ZooKeeper從設(shè)計(jì)模式角度來看, 是一個(gè)基于觀察者模式設(shè)計(jì)的分布式服務(wù)管理框架, 它負(fù)責(zé)存儲(chǔ)和管理大家都關(guān)心的數(shù)據(jù), 然后接受觀察者的注冊(cè), 一旦這些數(shù)據(jù)的狀態(tài)發(fā)生變化, ZooKeeper就將負(fù)責(zé)通知已經(jīng)在ZooKeeper上注冊(cè)的那些觀察者做出相應(yīng)的反應(yīng)。

6.2. ZooKeeper是一個(gè)典型的分布式數(shù)據(jù)一致性的解決方案, 分布式應(yīng)用程序可以基于它實(shí)現(xiàn)諸如數(shù)據(jù)發(fā)布/訂閱、負(fù)載均衡、命名服務(wù)、分布式協(xié)調(diào)/通知、集群管理、Master 選舉、分布式鎖和分布式隊(duì)列等功能。

6.3. 配置管理: 在分布式應(yīng)用環(huán)境中很常見, 比如我們平常的應(yīng)用系統(tǒng)中, 經(jīng)常會(huì)碰到這樣的需求: 如機(jī)器的配置列表、運(yùn)行時(shí)的開關(guān)配置、數(shù)據(jù)庫配置信息等。這些全局配置信息通常具備以下三個(gè)特征:

  • 數(shù)據(jù)量比較小。
  • 數(shù)據(jù)內(nèi)容在運(yùn)行時(shí)動(dòng)態(tài)發(fā)生變化。
  • 集群中各個(gè)集群共享信息, 配置一致。

6.4. 集群管理: ZooKeeper不僅能夠幫你維護(hù)當(dāng)前的集群中機(jī)器的服務(wù)狀態(tài), 而且能夠幫助你選出一個(gè)總管, 讓這個(gè)總管來管理集群, 這就是ZooKeeper的另外一個(gè)功能Leader, 并實(shí)現(xiàn)集群容錯(cuò)功能。

  • 希望知道當(dāng)前集群中究竟有多少機(jī)器工作。
  • 對(duì)集群中每天集群的運(yùn)行時(shí)狀態(tài)進(jìn)行數(shù)據(jù)收集。
  • 對(duì)集群中每臺(tái)集群進(jìn)行上下線操作。

7. CAP原則

7.1. 一致性(C): 在分布式系統(tǒng)中的所有數(shù)據(jù)備份, 在同一時(shí)刻是否同樣的值。(等同于所有節(jié)點(diǎn)訪問同一份最新的數(shù)據(jù)副本)

7.2. 可用性(A): 保證每個(gè)請(qǐng)求不管成功或者失敗都有響應(yīng)。

7.3. 分區(qū)容錯(cuò)性(P): 系統(tǒng)中任意信息的丟失或失敗不會(huì)影響系統(tǒng)的繼續(xù)運(yùn)作。

7.4. 一個(gè)分布式系統(tǒng)最多只能同時(shí)滿足一致性(Consistency)、可用性(Availability)和分區(qū)容錯(cuò)性(Partition tolerance)這三項(xiàng)中的兩項(xiàng)。

7.5. 在這三個(gè)基本需求中, 最多只能同時(shí)滿足其中的兩項(xiàng), P是必須的, 因此只能在CP和AP中選擇。zookeeper保證的是CP, 對(duì)比spring cloud系統(tǒng)中的注冊(cè)中心eruka實(shí)現(xiàn)的是AP。

8. BASE理論

8.1. BASE是Basically Available(基本可用)、Soft-state(軟狀態(tài))和Eventually Consistent(最終一致性)三個(gè)短語的縮寫。

8.2. 基本可用: 在分布式系統(tǒng)出現(xiàn)故障, 允許損失部分可用性(服務(wù)降級(jí)、頁面降級(jí))。

8.3. 軟狀態(tài): 允許分布式系統(tǒng)出現(xiàn)中間狀態(tài)。而且中間狀態(tài)不影響系統(tǒng)的可用性。這里的中間狀態(tài)是指不同的data replication(數(shù)據(jù)備份節(jié)點(diǎn))之間的數(shù)據(jù)更新可以出現(xiàn)延時(shí)的最終一致性。

8.4. 最終一致性: data replications經(jīng)過一段時(shí)間達(dá)到一致性。

8.5. BASE理論是對(duì)CAP中的一致性和可用性進(jìn)行一個(gè)權(quán)衡的結(jié)果, 理論的核心思想就是: 我們無法做到強(qiáng)一致, 但每個(gè)應(yīng)用都可以根據(jù)自身的業(yè)務(wù)特點(diǎn), 采用適當(dāng)?shù)姆绞絹硎瓜到y(tǒng)達(dá)到最終一致性

總結(jié)

以上是生活随笔為你收集整理的001_ZooKeeper简介的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。