中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

濟(jì)南shuncheng科技 網(wǎng)站建設(shè)免費(fèi)推廣引流平臺(tái)有哪些

濟(jì)南shuncheng科技 網(wǎng)站建設(shè),免費(fèi)推廣引流平臺(tái)有哪些,軟件產(chǎn)品開發(fā)流程圖,加強(qiáng)政協(xié)機(jī)關(guān)網(wǎng)站建設(shè)zookeeper是一個(gè)分布式協(xié)調(diào)服務(wù)。所謂分布式協(xié)調(diào)主要是來解決分布式系統(tǒng)中多個(gè)進(jìn)程之間的同步限制,防止出現(xiàn)臟讀,例如我們常說的分布式鎖。 zookeeper中的數(shù)據(jù)是存儲(chǔ)在內(nèi)存當(dāng)中的,因此它的效率十分高效。它內(nèi)部的存儲(chǔ)方式十分類似于文件存儲(chǔ)…

zookeeper是一個(gè)分布式協(xié)調(diào)服務(wù)。所謂分布式協(xié)調(diào)主要是來解決分布式系統(tǒng)中多個(gè)進(jìn)程之間的同步限制,防止出現(xiàn)臟讀,例如我們常說的分布式鎖。

zookeeper中的數(shù)據(jù)是存儲(chǔ)在內(nèi)存當(dāng)中的,因此它的效率十分高效。它內(nèi)部的存儲(chǔ)方式十分類似于文件存儲(chǔ)結(jié)構(gòu),采用了分層存儲(chǔ)結(jié)構(gòu)。但是它和文件存儲(chǔ)結(jié)構(gòu)的區(qū)別是,它的各個(gè)節(jié)點(diǎn)中是允許存儲(chǔ)數(shù)據(jù)的,需要注意的是zk的每個(gè)節(jié)點(diǎn)存儲(chǔ)數(shù)據(jù)不能超過1M。它的內(nèi)存數(shù)據(jù)結(jié)果如下圖:

可以通過不同的路徑訪問到不同的節(jié)點(diǎn),因?yàn)樗欠謱咏Y(jié)構(gòu),我們也可以通過某一個(gè)父節(jié)點(diǎn),獲取到該節(jié)點(diǎn)下的所有子節(jié)點(diǎn)信息。

zk只提供了幾個(gè)簡單的api,但是我們可以通過靈活使用這些api的組合,來實(shí)現(xiàn)我們復(fù)雜的業(yè)務(wù)要求:

  1. create:創(chuàng)建一個(gè)新節(jié)點(diǎn),通過指定路徑的方式創(chuàng)建節(jié)點(diǎn),例如創(chuàng)建路徑為/A/A1/demo,則會(huì)在A1節(jié)點(diǎn)下創(chuàng)建一個(gè)demo節(jié)點(diǎn);
  2. delete:刪除節(jié)點(diǎn),通過路徑的方式刪除節(jié)點(diǎn),如果刪除路徑為/A/A1/demo,則會(huì)刪除A1節(jié)點(diǎn)下的demo節(jié)點(diǎn);
  3. exists:判斷指定路徑下的節(jié)點(diǎn)是否存在,例如判斷路徑為/A/A1/demo,則會(huì)判斷A1節(jié)點(diǎn)下的demo節(jié)點(diǎn)是否存在;
  4. get:獲取指定路徑下某個(gè)節(jié)點(diǎn)的值是什么,例如獲取路徑為/A/A1/demo,則會(huì)獲取A1節(jié)點(diǎn)下的demo節(jié)點(diǎn)的值什么;
  5. set:為指定路徑的節(jié)點(diǎn)進(jìn)行賦值操作,例如修改路徑為/A/A1/demo,則會(huì)修改A1節(jié)點(diǎn)下的demo節(jié)點(diǎn)的值;
  6. get children:獲取指定路徑節(jié)點(diǎn)下的子節(jié)點(diǎn)信息,例如獲取路徑為/A,則會(huì)獲取A節(jié)點(diǎn)下的A1和A2節(jié)點(diǎn);
  7. sync:獲取到同步數(shù)據(jù),這個(gè)涉及到了zk的原理,zk集群屬于最終一致性,調(diào)用該方法,可以獲取到最終的結(jié)果值,如果不使用該方法,在查詢的時(shí)候可能獲取到的值是中間值;

zk中創(chuàng)建的節(jié)點(diǎn)分為兩種:永久性節(jié)點(diǎn)和臨時(shí)性節(jié)點(diǎn)。永久性節(jié)點(diǎn)即創(chuàng)建以后,在不執(zhí)行delete命令的前提下,該節(jié)點(diǎn)是永久存在的;而臨時(shí)節(jié)點(diǎn)與session有關(guān),每個(gè)客戶端與zk建立鏈接的時(shí)候會(huì)生成一個(gè)session,這個(gè)session不會(huì)因?yàn)殒溄觶k服務(wù)器節(jié)點(diǎn)的變化而變化,只有當(dāng)客戶端斷開連接以后,該session才會(huì)消失,而臨時(shí)節(jié)點(diǎn)會(huì)隨著session的消失而消失。

?zk擁有watch機(jī)制,也就是監(jiān)視機(jī)制,可以支持響應(yīng)式編程模式,它可以對(duì)某個(gè)路徑的終節(jié)點(diǎn)及其子節(jié)點(diǎn)的變更進(jìn)行監(jiān)視,當(dāng)其發(fā)生變更以后,會(huì)調(diào)用注冊(cè)的callback方法,然后進(jìn)行具體的業(yè)務(wù)邏輯。例如監(jiān)測(cè)路徑為/A/A1,那么它會(huì)加測(cè)A1節(jié)點(diǎn),以及附屬于A1的所有子節(jié)點(diǎn),這個(gè)子不單單只一層子節(jié)點(diǎn),是指所有層的子節(jié)點(diǎn)。
?

zk擁有以下幾個(gè)重要特性:

? ? ? ? 1)順序一致性:來自客戶端的相關(guān)指令會(huì)按照順序執(zhí)行,不會(huì)出現(xiàn)亂序的情況,客戶端發(fā)送到服務(wù)的指令1->2->3->4,那個(gè)這些指令就會(huì)按照順序執(zhí)行;

? ? ? ? 2)原子性:更新只有成功和失敗,沒有中間狀態(tài);

? ? ? ? 3)可靠性:也可以稱之為持久性,節(jié)點(diǎn)更新以后,在下次更新之前,它的數(shù)據(jù)不會(huì)發(fā)生變更;

? ? ? ? 4)準(zhǔn)實(shí)時(shí)性:也可以稱之為最終一致性,在zk集群中,一個(gè)客戶端修改了其中的一個(gè)節(jié)點(diǎn),一定時(shí)間以后,所有可用的服務(wù)對(duì)應(yīng)的節(jié)點(diǎn)都會(huì)變成更新以后的值。
?

分布式鎖

zk作為分布式協(xié)調(diào)服務(wù),它的一個(gè)很大的作用就是用來實(shí)現(xiàn)分布式鎖。zk節(jié)點(diǎn)存在臨時(shí)節(jié)點(diǎn),它的生命周期與session有關(guān),它會(huì)隨著session的消失而消失,這就解決了分布式鎖時(shí)可能出現(xiàn)的死鎖問題。

Zookeeper 是基于臨時(shí)順序節(jié)點(diǎn)以及 Watcher 監(jiān)聽器機(jī)制實(shí)現(xiàn)分布式鎖的。

具體流程

  1. 一把分布式鎖通常使用一個(gè) Znode 節(jié)點(diǎn)表示;如果鎖對(duì)應(yīng)的 Znode 節(jié)點(diǎn)不存在,首先創(chuàng)建 Znode 節(jié)點(diǎn)。這里假設(shè)為 /test/lock,代表了一把需要?jiǎng)?chuàng)建的分布式鎖。
  2. 搶占鎖的所有客戶端,使用鎖的 Znode 節(jié)點(diǎn)的子節(jié)點(diǎn)列表來表示;如果某個(gè)客戶端需要占用鎖,則在 /test/lock 下創(chuàng)建一個(gè)臨時(shí)順序的子節(jié)點(diǎn)。比如,如果子節(jié)點(diǎn)的前綴為 /test/lock/seq-,則第一次搶鎖對(duì)應(yīng)的子節(jié)點(diǎn)為 /test/lock/seq-000000001,第二次搶鎖對(duì)應(yīng)的子節(jié)點(diǎn)為 /test/lock/seq-000000002,以此類推。
  3. 當(dāng)客戶端創(chuàng)建子節(jié)點(diǎn)后,需要進(jìn)行判斷:自己創(chuàng)建的子節(jié)點(diǎn),是否為當(dāng)前子節(jié)點(diǎn)列表中序號(hào)最小的子節(jié)點(diǎn)。如果是,則加鎖成功;如果不是,則監(jiān)聽前一個(gè) Znode 子節(jié)點(diǎn)變更消息,等待前一個(gè)節(jié)點(diǎn)釋放鎖。
  4. 一旦隊(duì)列中的后面的節(jié)點(diǎn),獲得前一個(gè)子節(jié)點(diǎn)變更通知,則開始進(jìn)行判斷,判斷自己是否為當(dāng)前子節(jié)點(diǎn)列表中序號(hào)最小的子節(jié)點(diǎn),如果是,則認(rèn)為加鎖成功;如果不是,則持續(xù)監(jiān)聽,一直到獲得鎖。
  5. 獲取鎖后,開始處理業(yè)務(wù)流程。完成業(yè)務(wù)流程后,刪除自己的對(duì)應(yīng)的子節(jié)點(diǎn),完成釋放鎖的工作,以方面后繼節(jié)點(diǎn)能捕獲到節(jié)點(diǎn)變更通知,獲得分布式鎖。

ZooKeeper 分布式鎖的優(yōu)缺點(diǎn)

這里把 Zookeeper 與 Redis 實(shí)現(xiàn)分布式鎖對(duì)比一下:

  • 優(yōu)點(diǎn):ZooKeeper分布式鎖(如 InterProcessMutex),除了獨(dú)占鎖、可重入鎖,還能實(shí)現(xiàn)讀寫鎖,并且可靠性比 Redis 更好。
  • 缺點(diǎn):ZooKeeper實(shí)現(xiàn)的分布式鎖,性能并不太高。因?yàn)槊看卧趧?chuàng)建鎖和釋放鎖的過程中,都要?jiǎng)討B(tài)創(chuàng)建、銷毀瞬時(shí)節(jié)點(diǎn)來實(shí)現(xiàn)鎖功能。而 ZK 中創(chuàng)建和刪除節(jié)點(diǎn)只能通過 Leader 服務(wù)器來執(zhí)行,然后 Leader 服務(wù)器還需要將數(shù)據(jù)同不到所有的 Follower 機(jī)器上,同步之后才返回,這樣頻繁的網(wǎng)絡(luò)通信,性能的短板是非常突出的;而 Redis 則是異步復(fù)制。

Redis 是 AP 架構(gòu),而 ZooKeeper 是 CP 架構(gòu)。在高性能,高并發(fā)的場景下,不建議使用ZooKeeper的分布式鎖,可以使用 Redis 分布式鎖。而由于ZooKeeper的可靠性,所以在并發(fā)量不是太高的場景,推薦使用ZooKeeper的分布式鎖。

http://m.risenshineclean.com/news/57799.html

相關(guān)文章:

  • 請(qǐng)網(wǎng)站制作公司費(fèi)用培訓(xùn)機(jī)構(gòu)不退費(fèi)最有效方式
  • 政府網(wǎng)站作用社群推廣平臺(tái)
  • 手機(jī)網(wǎng)站開發(fā) c資源網(wǎng)站優(yōu)化排名優(yōu)化
  • 論壇網(wǎng)站方案鄭州seo排名優(yōu)化公司
  • c語言和c 哪個(gè)做網(wǎng)站好網(wǎng)絡(luò)營銷方案的范文
  • 網(wǎng)站建設(shè)gong谷歌推廣平臺(tái)
  • 提供營銷型網(wǎng)站鄭州營銷型網(wǎng)站建設(shè)
  • 個(gè)人網(wǎng)站怎樣做超鏈接天堂網(wǎng)
  • 廣州番禺服裝網(wǎng)站建設(shè)在線培訓(xùn)系統(tǒng)平臺(tái)
  • 北京土巴兔裝修公司電話關(guān)鍵詞優(yōu)化報(bào)價(jià)怎么樣
  • 有什么字體設(shè)計(jì)的網(wǎng)站百度發(fā)視頻步驟
  • 河南重大項(xiàng)目建設(shè)網(wǎng)站網(wǎng)絡(luò)營銷成功的案例分析
  • 安徽大學(xué)電子信息工程學(xué)院官方網(wǎng)合肥網(wǎng)絡(luò)seo
  • 國家三大外貿(mào)平臺(tái)南寧seo費(fèi)用服務(wù)
  • 創(chuàng)業(yè)平臺(tái)是什么意思企業(yè)網(wǎng)站優(yōu)化報(bào)告
  • 磁力搜索網(wǎng)站怎么做的網(wǎng)絡(luò)推廣有幾種方法
  • 做地方門戶網(wǎng)站的資質(zhì)清遠(yuǎn)今日頭條最新消息
  • 自助網(wǎng)站安裝百度到桌面
  • 1688做網(wǎng)站費(fèi)用常州網(wǎng)站制作維護(hù)
  • 計(jì)算機(jī)網(wǎng)站開發(fā)nba排名
  • 網(wǎng)站建設(shè)難點(diǎn)是什么2024的新聞?dòng)心男?/a>
  • 最好的網(wǎng)站開發(fā)工具東莞seo黑帽培訓(xùn)
  • cn域名后綴網(wǎng)站東莞網(wǎng)絡(luò)推廣優(yōu)化排名
  • 紅色網(wǎng)站建設(shè)十大技能培訓(xùn)機(jī)構(gòu)排名
  • 做ppt賺錢的網(wǎng)站最新引流推廣方法
  • 花錢人做的網(wǎng)站做好后算誰的濟(jì)南seo整站優(yōu)化招商電話
  • 怎樣創(chuàng)建自己公司的網(wǎng)站百度競價(jià)代理公司
  • 桂林網(wǎng)站建設(shè)費(fèi)用seo搜索優(yōu)化公司
  • 南京做中英文網(wǎng)站設(shè)計(jì)seosem是指什么意思
  • 沛縣做網(wǎng)站揚(yáng)州seo博客