国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

zookeeper分布式協(xié)調(diào)系統(tǒng)的架構(gòu)設(shè)計(jì)與源碼剖析

這篇具有很好參考價(jià)值的文章主要介紹了zookeeper分布式協(xié)調(diào)系統(tǒng)的架構(gòu)設(shè)計(jì)與源碼剖析。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

001_我們一般到底用ZooKeeper來干什么事兒?

002_有哪些開源的分布式系統(tǒng)中使用了ZooKeeper?

003_為什么我們在分布式系統(tǒng)架構(gòu)中需要使用ZooKeeper集群?

004_ZooKeeper為了滿足分布式系統(tǒng)的需求要有哪些特點(diǎn)

005_為了滿足分布式系統(tǒng)的需求,ZooKeeper的架構(gòu)設(shè)計(jì)有哪些特點(diǎn)?

006_ZooKeeper集群的三種角色:Leader、Follower、Observer

007_客戶端與ZooKeeper之間的長連接和會話是什么?

008_ZooKeeper的數(shù)據(jù)模型:znode和節(jié)點(diǎn)類型

009_ZooKeeper最核心的一個(gè)機(jī)制:Watcher監(jiān)聽回調(diào)

二、使用步驟

1.引入庫

2.讀入數(shù)據(jù)

總結(jié)


001_我們一般到底用ZooKeeper來干什么事兒?

ZooKeeper頂尖高手課程:從實(shí)戰(zhàn)到源碼

Kafka里面大量使用了ZooKeeper進(jìn)行元數(shù)據(jù)管理、Master選舉、分布式協(xié)調(diào),Canal也是一樣,ZooKeeper進(jìn)行元數(shù)據(jù)管理,Master選舉實(shí)現(xiàn)HA主備切換

HDFS,HA也是基于ZK來做的

6周的,zk核心原理,zk集群部署、運(yùn)維和管理,zk實(shí)戰(zhàn)開發(fā),zk在hdfs、kafka、canal源碼中的運(yùn)用的分析,兩周的時(shí)間研究zk的核心的內(nèi)核源碼和底層原理

《001_我們一般到底用ZooKeeper來干什么事兒?》

Java架構(gòu)的課,分布式架構(gòu)中,分布式鎖,Redis分布式鎖,ZooKeeper分布式鎖

分布式鎖:運(yùn)用于分布式的Java業(yè)務(wù)系統(tǒng)中

元數(shù)據(jù)管理:Kafka、Canal,本身都是分布式架構(gòu),分布式集群在運(yùn)行,本身他需要一個(gè)地方集中式的存儲和管理分布式集群的核心元數(shù)據(jù),所以他們都選擇把核心元數(shù)據(jù)放在zookeeper中的

分布式協(xié)調(diào):如果有人對zk中的數(shù)據(jù)做了變更,然后zk會反過來去通知其他監(jiān)聽這個(gè)數(shù)據(jù)的人,告訴別人這個(gè)數(shù)據(jù)變更了,kafka有多個(gè)broker,多個(gè)broker會競爭成為一個(gè)controller的角色

如果作為controller的broker掛掉了,此時(shí)他在zk里注冊的一個(gè)節(jié)點(diǎn)會消失,其他broker瞬間會被zk反向通知這個(gè)事情,繼續(xù)競爭成為新的controller

這個(gè)就是非常經(jīng)典的一個(gè)分布式協(xié)調(diào)的場景,有一個(gè)數(shù)據(jù),一個(gè)broker注冊了一個(gè)數(shù)據(jù),其他broker監(jiān)聽這個(gè)數(shù)據(jù)

Master選舉 -> HA架構(gòu)

HDFS,NameNode HA架構(gòu),部署主備兩個(gè)NameNode,只有一個(gè)人可以通過zk選舉成為Master,另外一個(gè)backup

Canal,HA

ZooKeeper,分布式協(xié)調(diào)系統(tǒng),封裝了分布式架構(gòu)中所有核心和主流的需求和功能,分布式鎖、分布式集群的集中式元數(shù)據(jù)存儲、Master選舉、分布式協(xié)調(diào)和通知

002_有哪些開源的分布式系統(tǒng)中使用了ZooKeeper?

《002_有哪些開源的分布式系統(tǒng)中使用了ZooKeeper?》

Canal、Kafka、HDFS,學(xué)習(xí)過的這些技術(shù)都用了ZooKeeper,元數(shù)據(jù)管理,Master選舉

ZooKeeper,他主要是提供哪些功能,滿足哪些需求,使用在哪些場景下,最后一句話總結(jié),ZooKeeper到底是為什么而生的,定位是什么?

三類系統(tǒng)

第一類:分布式Java業(yè)務(wù)系統(tǒng),分布式電商平臺,大部分的Java開發(fā)的互聯(lián)網(wǎng)平臺,或者是傳統(tǒng)架構(gòu)系統(tǒng),都是分布式Java業(yè)務(wù)系統(tǒng),Dubbo、Spring Cloud把系統(tǒng)拆分成很多的服務(wù)或者是子系統(tǒng),大家協(xié)調(diào)工作,完成最終的功能

ZooKeeper,用的比較少,分布式鎖的功能,而且很多人會選擇用Redis分布式鎖

第二類:開源的分布式系統(tǒng)

Dubbo,HBase,HDFS,Kafka,Canal,Storm,Solr

分布式集群的集中式元數(shù)據(jù)存儲、Master選舉實(shí)現(xiàn)HA架構(gòu)、分布式協(xié)調(diào)和通知

Dubbo:ZooKeeper作為注冊中心,分布式集群的集中式元數(shù)據(jù)存儲

HBase:分布式集群的集中式元數(shù)據(jù)存儲

HDFS:Master選舉實(shí)現(xiàn)HA架構(gòu)

Kafka:分布式集群的集中式元數(shù)據(jù)存儲,分布式協(xié)調(diào)和通知

Canal:分布式集群的集中式元數(shù)據(jù)存儲,Master選舉實(shí)現(xiàn)HA架構(gòu)

第三類:自研的分布式系統(tǒng)

HDFS,面向的超大文件,切割成一個(gè)一個(gè)的小塊兒,分布式存儲在一個(gè)大的集群里

分布式海量小文件系統(tǒng):NameNode的HA架構(gòu),仿照HDFS的NameNode的HA架構(gòu),做主備兩個(gè)NameNode,進(jìn)行數(shù)據(jù)同步,然后自動基于zk進(jìn)行熱切換

在很多,如果你自己研發(fā)類似的一些分布式系統(tǒng),都可以考慮,你是否需要一個(gè)地方集中式存儲分布式集群的元數(shù)據(jù)?是否需要一個(gè)東西輔助你進(jìn)行Master選舉實(shí)現(xiàn)HA架構(gòu)?進(jìn)行分布式協(xié)調(diào)通知?

如果你在自研分布式系統(tǒng)的時(shí)候,有類似的需求,那么就可以考慮引入ZooKeeper來滿足你的需求

003_為什么我們在分布式系統(tǒng)架構(gòu)中需要使用ZooKeeper集群?

003_為什么我們在分布式系統(tǒng)架構(gòu)中需要使用ZooKeeper集群?》

ZooKeeper,功能和定位,滿足的需求

使用ZooKeeper去滿足自己需求的項(xiàng)目都有哪些

分布式集群的集中式元數(shù)據(jù)存儲,Master選舉實(shí)現(xiàn)HA架構(gòu),分布式協(xié)調(diào)和通知

我們寫一個(gè)類似ZK的系統(tǒng),單機(jī)版本,就是部署在一臺機(jī)器上面,里面提供了一些功能,比如說允許你在里面存儲一些元數(shù)據(jù),支持你進(jìn)行Master選舉,支持你分布式協(xié)調(diào)和通知,也可以做到

單機(jī)版本的系統(tǒng),萬一掛掉了怎么辦?

集群部署,部署一個(gè)集群出來,多臺機(jī)器,保證高可用性,掛掉一臺機(jī)器,都可以繼續(xù)運(yùn)行下去

3臺機(jī)器

我現(xiàn)在要進(jìn)行元數(shù)據(jù)的存儲,我向機(jī)器01寫了一條數(shù)據(jù),機(jī)器01應(yīng)該怎么把數(shù)據(jù)同步給其他的機(jī)器02和機(jī)器03呢?

自己寫一個(gè)類似ZK的系統(tǒng)?不可能單機(jī)版本吧?肯定得集群部署保證高可用吧?一旦集群了之后,數(shù)據(jù)一致性怎么保證?多麻煩!

你的分布式架構(gòu)中有需求,干脆就直接用工業(yè)級,久經(jīng)考驗(yàn)的zookeeper就可以了,bug很少,功能很全面,運(yùn)用在很多工業(yè)級的大規(guī)模的分布式系統(tǒng)中,HDFS、Kafka、HBase

004_ZooKeeper為了滿足分布式系統(tǒng)的需求要有哪些特點(diǎn)

ZooKeeper肯定是一套系統(tǒng),這個(gè)系統(tǒng)可以存儲元數(shù)據(jù),支持Master選舉,可以進(jìn)行分布式協(xié)調(diào)和通知

集群部署:不可能單機(jī)版本

順序一致性:所有請求全部有序

原子性:要么全部機(jī)器都成功,要么全部機(jī)器都別成功

數(shù)據(jù)一致性:無論連接到哪臺ZK上去,看到的都是一樣的數(shù)據(jù),不能有數(shù)據(jù)不一致

高可用:如果某臺機(jī)器宕機(jī),要保證數(shù)據(jù)絕對不能丟失

實(shí)時(shí)性:一旦數(shù)據(jù)發(fā)生變更,其他人要實(shí)時(shí)感知到

zookeeper分布式協(xié)調(diào)系統(tǒng)的架構(gòu)設(shè)計(jì)與源碼剖析,分布式

005_為了滿足分布式系統(tǒng)的需求,ZooKeeper的架構(gòu)設(shè)計(jì)有哪些特點(diǎn)?

《005_為了滿足分布式系統(tǒng)的需求,ZooKeeper的架構(gòu)設(shè)計(jì)有哪些特點(diǎn)?》

為了實(shí)現(xiàn)需要的一些特性,ZooKeeper的架構(gòu)設(shè)計(jì)需要有哪些特點(diǎn)?

集群化部署:3~5臺機(jī)器組成一個(gè)集群,每臺機(jī)器都在內(nèi)存保存了zk的全部數(shù)據(jù),機(jī)器之間互相通信同步數(shù)據(jù),客戶端連接任何一臺機(jī)器都可以

樹形結(jié)構(gòu)的數(shù)據(jù)模型:znode,樹形結(jié)構(gòu),數(shù)據(jù)模型簡單,純內(nèi)存保存

數(shù)據(jù)結(jié)構(gòu)就跟我們的文件系統(tǒng)是類似的,是有層級關(guān)系的樹形的文件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)

znode可以認(rèn)為是一個(gè)節(jié)點(diǎn)而已

create /usr/local/uid

create /usr/local/test_file

uid:可以寫入一些數(shù)據(jù)的值,比如說hello world

test_file:也可以寫入一些數(shù)據(jù)的值

順序?qū)懀杭褐兄挥幸慌_機(jī)器可以寫,所有機(jī)器都可以讀,所有寫請求都會分配一個(gè)zk集群全局的唯一遞增編號,zxid,保證各種客戶端發(fā)起的寫請求都是有順序的

數(shù)據(jù)一致性:任何一臺zk機(jī)器收到了寫請求之后都會同步給其他機(jī)器,保證數(shù)據(jù)的強(qiáng)一致,你連接到任何一臺zk機(jī)器看到的數(shù)據(jù)都是一致的

高性能:每臺zk機(jī)器都在內(nèi)存維護(hù)數(shù)據(jù),所以zk集群絕對是高并發(fā)高性能的,如果你讓zk部署在高配置物理機(jī)上,一個(gè)3臺機(jī)器的zk集群抗下每秒幾萬請求沒有問題

高可用:哪怕集群中掛掉不超過一半的機(jī)器,都能保證可用,數(shù)據(jù)不會丟失,3臺機(jī)器可以掛1臺,5臺機(jī)器可以掛2臺

高并發(fā):高性能決定的,只要基于純內(nèi)存數(shù)據(jù)結(jié)構(gòu)來處理,并發(fā)能力是很高的,只有一臺機(jī)器進(jìn)行寫,但是高配置的物理機(jī),比如16核32G,寫入幾萬QPS,讀,所有機(jī)器都可以讀,3臺機(jī)器的話,起碼可以支撐十幾萬QPS

https://www.processon.com/v/6597671165d15f64a981eb02

006_ZooKeeper集群的三種角色:Leader、Follower、Observer

https://www.processon.com/v/659b4ac89dab311b9590f194

007_客戶端與ZooKeeper之間的長連接和會話是什么?

zk集群啟動之后,自己分配好角色,然后客戶端就會跟zk建立連接,是TCP長連接

把我們的Java架構(gòu)課程里的網(wǎng)絡(luò)那塊的東西,自研的分布式海量小文件存儲系統(tǒng)的項(xiàng)目,我們手寫了大量的底層的網(wǎng)絡(luò)通信的代碼

也就建立了一個(gè)會話,就是session,可以通過心跳感知到會話是否存在,有一個(gè)sessionTimeout,意思就是如果連接斷開了,只要客戶端在指定時(shí)間內(nèi)重新連接zk一臺機(jī)器,就能繼續(xù)保持session,否則session就超時(shí)了

008_ZooKeeper的數(shù)據(jù)模型:znode和節(jié)點(diǎn)類型

核心數(shù)據(jù)模型就是znode樹,平時(shí)我們往zk寫數(shù)據(jù)就是創(chuàng)建樹形結(jié)構(gòu)的znode,里面可以寫入值,就這數(shù)據(jù)模型,都在zk內(nèi)存里存放

有兩種節(jié)點(diǎn),持久節(jié)點(diǎn)和臨時(shí)節(jié)點(diǎn),持久節(jié)點(diǎn)就是哪怕客戶端斷開連接,一直存在

臨時(shí)節(jié)點(diǎn),就是只要客戶端斷開連接,節(jié)點(diǎn)就沒了

還有順序節(jié)點(diǎn),就是創(chuàng)建節(jié)點(diǎn)的時(shí)候自增加全局遞增的序號

大家去看一下,之前Java架構(gòu)的分布式鎖里,有一個(gè)zk鎖的源碼分析,curator框架,zk分布式鎖的實(shí)現(xiàn),在里面就是基于zk的臨時(shí)順序節(jié)點(diǎn)來實(shí)現(xiàn)的,加鎖的時(shí)候,是創(chuàng)建一個(gè)臨時(shí)順序節(jié)點(diǎn)

zk會自動給你的臨時(shí)節(jié)點(diǎn)加上一個(gè)后綴,全局遞增的,編號

如果你客戶端斷開連接了,就自動銷毀這個(gè)你加的鎖,此時(shí)人家會感知到,就會嘗試去加鎖

如果你是做元數(shù)據(jù)存儲,肯定是持久節(jié)點(diǎn)

如果你是做一些分布式協(xié)調(diào)和通知,很多時(shí)候是用臨時(shí)節(jié)點(diǎn),就是說,比如我創(chuàng)建一個(gè)臨時(shí)節(jié)點(diǎn),別人來監(jiān)聽這個(gè)節(jié)點(diǎn)的變化,如果我斷開連接了,臨時(shí)節(jié)點(diǎn)消失,此時(shí)人家會感知到,就會來做點(diǎn)別的事情

順序節(jié)點(diǎn),在分布式鎖里用的比較經(jīng)典

每個(gè)znode還有一個(gè)Stat用來存放數(shù)據(jù)版本,version(znode的版本),cversion(znode子節(jié)點(diǎn)的版本),aversion(znode的ACL權(quán)限控制版本)12144

009_ZooKeeper最核心的一個(gè)機(jī)制:Watcher監(jiān)聽回調(diào)

ZooKeeper最核心的機(jī)制,就是你一個(gè)客戶端可以對znode進(jìn)行Watcher監(jiān)聽,然后znode改變的時(shí)候回調(diào)通知你的這個(gè)客戶端,這個(gè)是非常有用的一個(gè)功能,在分布式系統(tǒng)的協(xié)調(diào)中是很有必要的

支持寫和查:只能實(shí)現(xiàn)元數(shù)據(jù)存儲,Master選舉,部分功能

分布式系統(tǒng)的協(xié)調(diào)需求:分布式架構(gòu)中的系統(tǒng)A監(jiān)聽一個(gè)數(shù)據(jù)的變化,如果分布式架構(gòu)中的系統(tǒng)B更新了那個(gè)數(shù)據(jù)/節(jié)點(diǎn),zk反過來通知系統(tǒng)A這個(gè)數(shù)據(jù)的變化

/usr/local/uid

使用zk很簡單,內(nèi)存數(shù)據(jù)模型(不同節(jié)點(diǎn)類型);寫數(shù)據(jù),主動讀取數(shù)據(jù);監(jiān)聽數(shù)據(jù)變化,更新數(shù)據(jù),反向通知數(shù)據(jù)變化

實(shí)現(xiàn)分布式集群的集中式的元數(shù)據(jù)存儲、分布式鎖、Master選舉、分布式協(xié)調(diào)監(jiān)聽

012_從zk集群啟動到數(shù)據(jù)同步再到崩潰恢復(fù)的ZAB協(xié)議流程

zk集群啟動的時(shí)候,進(jìn)入恢復(fù)模式,選舉一個(gè)leader出來,然后leader等待集群中過半的follower跟他進(jìn)行數(shù)據(jù)同步,只要過半follower完成數(shù)據(jù)同步,接著就退出恢復(fù)模式,可以對外提供服務(wù)了

只要有超過一半的機(jī)器,認(rèn)可你是leader,你就可以被選舉為leader

3臺機(jī)器組成了一個(gè)zk集群,啟動的時(shí)候,只要有2臺機(jī)器認(rèn)可一個(gè)人是Leader,那么他就可以成為leader了

3臺可以容忍不超過一半的機(jī)器宕機(jī),1臺

剩余的2臺機(jī)器,只要2臺機(jī)器都認(rèn)可其中某臺機(jī)器是leader,2臺 大于 一半,就可以選舉出來一個(gè)leader了

zk的leader選舉算法,我們可以在后面的zk核心源碼剖析的時(shí)候

1臺機(jī)器時(shí)沒有辦法自己選舉自己的

5臺機(jī)器,3臺機(jī)器認(rèn)可某個(gè)人是leader;可以允許2臺機(jī)器宕機(jī),3臺機(jī)器,leader選舉,只要是5臺機(jī)器,一半2.5,3臺機(jī)器都認(rèn)可某個(gè)人是leader,此時(shí)3?> 2.5,過半,leader是可以選舉出來的

2臺機(jī)器,小于一半,沒有辦法選舉新的leader出來了

當(dāng)然還沒完成同步的follower會自己去跟leader進(jìn)行數(shù)據(jù)同步的

此時(shí)會進(jìn)入消息廣播模式

只有l(wèi)eader可以接受寫請求,但是客戶端可以隨便連接leader或者follower,如果客戶端連接到follower,follower會把寫請求轉(zhuǎn)發(fā)給leader

leader收到寫請求,就把請求同步給所有的follower,過半follower都說收到了,就再發(fā)commit給所有的follower,讓大家提交這個(gè)請求事務(wù)

如果突然leader宕機(jī)了,會進(jìn)入恢復(fù)模式,重新選舉一個(gè)leader,只要過半的機(jī)器都承認(rèn)你是leader,就可以選舉出來一個(gè)leader,所以zk很重要的一點(diǎn)是主要宕機(jī)的機(jī)器數(shù)量小于一半,他就可以正常工作

因?yàn)橹饕羞^半的機(jī)器存活下來,就可以選舉新的leader

新leader重新等待過半follower跟他同步,完了重新進(jìn)入消息廣播模式,leader就會把自己的數(shù)據(jù)開始同步,因?yàn)橛幸环N可能之前有些follower沒有從leader那邊完全同步過來,這個(gè)時(shí)候一定要保證一個(gè)數(shù)據(jù)的同步,leader會去檢查自己磁盤里的文件,去看看哪些數(shù)據(jù)是哪些follower的,哪些follower還沒有同步的,leader要保證自己的數(shù)據(jù)和其它的follower要保證全部同步,同步守他會進(jìn)入消息廣播模式,leader就會接受寫請求了

2PC是什么,兩階段提交,Java架構(gòu)里的分布式事務(wù)的課程,好好去看一下

集群啟動:恢復(fù)模式,leader選舉(過半機(jī)器選舉機(jī)制)?+ 數(shù)據(jù)同步

消息寫入:消息廣播模式,leader采用2PC模式的過半寫機(jī)制,給follower進(jìn)行同步

崩潰恢復(fù):恢復(fù)模式,leader/follower宕機(jī),只要剩余機(jī)器超過一半,集群宕機(jī)不超過一半的機(jī)器,就可以選舉新的leader,數(shù)據(jù)同步

二、使用步驟

1.引入庫

代碼如下(示例):

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import  ssl
ssl._create_default_https_context = ssl._create_unverified_context

2.讀入數(shù)據(jù)

代碼如下(示例):

data = pd.read_csv(
    'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())

該處使用的url網(wǎng)絡(luò)請求的數(shù)據(jù)。


總結(jié)

提示:這里對文章進(jìn)行總結(jié):
例如:以上就是今天要講的內(nèi)容,本文僅僅簡單介紹了pandas的使用,而pandas提供了大量能使我們快速便捷地處理數(shù)據(jù)的函數(shù)和方法。文章來源地址http://www.zghlxwxcb.cn/news/detail-777675.html

到了這里,關(guān)于zookeeper分布式協(xié)調(diào)系統(tǒng)的架構(gòu)設(shè)計(jì)與源碼剖析的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • ZooKeeper分布式應(yīng)用程序協(xié)調(diào)服務(wù)

    ZooKeeper分布式應(yīng)用程序協(xié)調(diào)服務(wù)

    目錄 一.ZooKeeper基本介紹 1.ZooKeeper是什么? 2.ZooKeeper的工作機(jī)制 3.ZooKeeper的特點(diǎn) 4.ZooKeeper的數(shù)據(jù)結(jié)構(gòu) 5.ZooKeeper的應(yīng)用場景 5.1 統(tǒng)一命名服務(wù) 5.2 統(tǒng)一配置管理 5.3 統(tǒng)一集群管理 5.4 服務(wù)器動態(tài)上下線 5.5 軟負(fù)載均衡 二.ZooKeeper的選舉機(jī)制 1.第一次啟動選舉機(jī)制 2.非第一次啟動選舉

    2023年04月19日
    瀏覽(100)
  • 分布式應(yīng)用程序協(xié)調(diào)服務(wù) ZooKeeper 詳解

    目錄 1、ZooKeeper簡介 2、ZooKeeper的使用場景 3、ZooKeeper設(shè)計(jì)目的 4、ZooKeeper數(shù)據(jù)模型

    2024年02月08日
    瀏覽(95)
  • ZooKeeper的應(yīng)用場景(命名服務(wù)、分布式協(xié)調(diào)通知)

    ZooKeeper的應(yīng)用場景(命名服務(wù)、分布式協(xié)調(diào)通知)

    命名服務(wù)(NameService)也是分布式系統(tǒng)中比較常見的一類場景,在《Java網(wǎng)絡(luò)高級編程》一書中提到,命名服務(wù)是分布式系統(tǒng)最基本的公共服務(wù)之一。在分布式系統(tǒng)中,被命名的實(shí)體通??梢允羌褐械臋C(jī)器、提供的服務(wù)地址或遠(yuǎn)程對象等一這些我們都可以統(tǒng)稱它們?yōu)槊?Name),

    2024年02月12日
    瀏覽(94)
  • 【大數(shù)據(jù)】大數(shù)據(jù)之分布式協(xié)調(diào)服務(wù)--Zookeeper 教程

    【大數(shù)據(jù)】大數(shù)據(jù)之分布式協(xié)調(diào)服務(wù)--Zookeeper 教程

    ZooKeeper 是一種分布式協(xié)調(diào)服務(wù),用于管理大型主機(jī)。在分布式環(huán)境中協(xié)調(diào)和管理服務(wù)是一個(gè)復(fù)雜的過程。ZooKeeper 通過其簡單的架構(gòu)和 API 解決了這個(gè)問題。ZooKeeper 允許開發(fā)人員專注于核心應(yīng)用程序邏輯,而不必?fù)?dān)心應(yīng)用程序的分布式特性。 ZooKeeper 框架最初是在“Yahoo!\\\"上構(gòu)

    2023年04月09日
    瀏覽(20)
  • Zookeeper 和 ETCD在分布式協(xié)調(diào)服務(wù)的使用

    在云原生環(huán)境中,etcd和ZooKeeper都是常見的分布式協(xié)調(diào)服務(wù),具有各自的優(yōu)點(diǎn)和缺點(diǎn)。以下是它們在云原生環(huán)境中的比較: etcd的優(yōu)點(diǎn): 性能:etcd采用Raft一致性算法,具有較高的性能和吞吐量。 簡單的API:etcd的API設(shè)計(jì)簡潔易用,支持多種編程語言的客戶端庫。 可觀察性:

    2024年02月16日
    瀏覽(25)
  • ZooKeeper 分布式協(xié)調(diào)服務(wù): 概述及原理, 安裝配置, 基本操作

    作者:禪與計(jì)算機(jī)程序設(shè)計(jì)藝術(shù) Apache Zookeeper 是 Apache Hadoop 的子項(xiàng)目之一,是一個(gè)開源的分布式協(xié)調(diào)服務(wù)。它負(fù)責(zé)存儲和維護(hù)關(guān)于網(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn)的數(shù)據(jù)。Zookeeper 提供了以下功能:配置維護(hù)、域名服務(wù)、同步和共享、軟/硬件負(fù)載均衡、集群管理、Master 選舉等。它的架構(gòu)使得

    2024年02月08日
    瀏覽(19)
  • 【系統(tǒng)架構(gòu)】分布式系統(tǒng)架構(gòu)設(shè)計(jì)

    【系統(tǒng)架構(gòu)】分布式系統(tǒng)架構(gòu)設(shè)計(jì)

    分布式系統(tǒng)是指由多個(gè)計(jì)算機(jī)節(jié)點(diǎn)組成的一個(gè)系統(tǒng),這些節(jié)點(diǎn)通過網(wǎng)絡(luò)互相連接,并協(xié)同工作完成某個(gè)任務(wù)。 與單個(gè)計(jì)算機(jī)相比,分布式系統(tǒng)具有更高的可擴(kuò)展性、可靠性和性能等優(yōu)勢,因此廣泛應(yīng)用于大規(guī)模數(shù)據(jù)處理、高并發(fā)訪問、分布式存儲等領(lǐng)域。 分布式系統(tǒng)的設(shè)計(jì)

    2024年02月15日
    瀏覽(106)
  • 分布式系統(tǒng)架構(gòu)設(shè)計(jì)之分布式緩存技術(shù)選型

    分布式系統(tǒng)架構(gòu)設(shè)計(jì)之分布式緩存技術(shù)選型

    隨著互聯(lián)網(wǎng)業(yè)務(wù)的快速發(fā)展,分布式系統(tǒng)已經(jīng)成為了解決大規(guī)模并發(fā)請求、高可用性、可擴(kuò)展性等問題的重要手段。在分布式系統(tǒng)中,緩存作為提高系統(tǒng)性能的關(guān)鍵技術(shù),能夠顯著降低數(shù)據(jù)庫負(fù)載、減少網(wǎng)絡(luò)延遲、提高數(shù)據(jù)訪問速度。當(dāng)面對大量并發(fā)請求時(shí),如果每次都直接

    2024年02月03日
    瀏覽(519)
  • HadoopHA模式(由于Hadoop的HA模式是在Hadoop完全分布式基礎(chǔ)上,利用zookeeper等協(xié)調(diào)工具配置的高可用的Hadoop集群模式)

    HadoopHA模式(由于Hadoop的HA模式是在Hadoop完全分布式基礎(chǔ)上,利用zookeeper等協(xié)調(diào)工具配置的高可用的Hadoop集群模式)

    目錄 1.前期準(zhǔn)備 1.1.hadoop-3.1.3.tar.gz,jdk-8u212-linux-x64.tar.gz,apache-zookeeper-3.5.7-bin.tar.gz三個(gè)包提取碼:k5y6 2.解壓安裝包,配置環(huán)境變量 3. 將三個(gè)節(jié)點(diǎn)分別命名為master、slave1、slave2并做免密登錄 免密在前面Hadoop完全分布式搭建說過,這里不再贅述 4.搭建zookeeper集群 ?根據(jù)配置的

    2024年02月04日
    瀏覽(22)
  • 分布式系統(tǒng)架構(gòu)設(shè)計(jì)之分布式數(shù)據(jù)存儲的安全隱私和性能優(yōu)化

    分布式系統(tǒng)架構(gòu)設(shè)計(jì)之分布式數(shù)據(jù)存儲的安全隱私和性能優(yōu)化

    在前面分布式系統(tǒng)部分,有對安全性做過介紹,如前面所述,在分布式系統(tǒng)中,確保系統(tǒng)的安全性和隱私是至關(guān)重要的。安全性關(guān)注系統(tǒng)的防護(hù)措施,而隱私是關(guān)注用戶的個(gè)人信息保護(hù)。 身份認(rèn)證:確保用戶和系統(tǒng)組件的身份是合法的,通過通過密碼、令牌或證書實(shí)現(xiàn) 授權(quán)

    2024年02月02日
    瀏覽(98)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包