您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 >
05 發布者訂閱模式本質原理(網絡營銷策略理論有哪些啊???)
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-07-13 10:04:05【】4人已围观
简介數據要被原子性的操作。也就是說讀操作將獲取與節點相關的所有數據,寫操作也將替換掉節點的所有數據。5)在zookeeper創建順序節點(create-s),節點路徑后加編號,這個計數對于此節點的父節點來
5)在zookeeper創建順序節點(create -s ),節點路徑后加編號,這個計數對于此節點的父節點來說是唯一的。
/app/
/s100000000001
/s100000000002
6)ZooKeeper中的節點有兩種,分別為 臨時節點和永久節點 。節點的類型在創建時即被確定,并且不能改變。
① 臨時節點 :在客戶端用create -e創建,該節點的生命周期依賴于創建它們的會話。一旦會話(Session)結束,臨時節點將被自動刪除,當然可以也可以手動刪除。雖然每個臨時的Znode都會綁定到一個客戶端會話,但他們對所有的客戶端還是可見的。另外,**ZooKeeper的臨時節點不允許擁有子節點。
② 永久節點 :在客戶端用create 創建,該節點的生命周期不依賴于會話,并且只有在客戶端顯示執行刪除操作的時候,他們才能被刪除。
7) 客戶端可以給節點設置watch,我們稱之為監視器 。當節點狀態發生改變時(Znode的增、刪、改)將會觸發watch所對應的操作。當watch被觸發時,ZooKeeper將會向客戶端發送且僅發送一條通知。
分布式鎖
zookeeper 是高可用協調流程圖
1.2 zookeepr角色介紹
領導者(leader) ,負責進行投票的發起和決議,更新系統狀態(數據同步),發送心跳。
學習者(learner) ,包括跟隨者(follower)和觀察者(observer)。
跟隨者(follower) ,用于接受客戶端請求、向客戶端返回結果,在選主過程中參與投票。
觀察者(Observer) ,可以接受客戶端請求,會把請求轉發給leader, 但observer不參加投票過程,只同步leader的狀態 ,observer的目的是為了擴展系統,提高讀取速度。
1)leader失效后會在follower中重新選舉新的leader
2)每個follower都和leader有連接,接受leader的數據更新操作
3)客戶端可以連接到每個server,每個server的數據完全相同
4)每個節點的服務Server,記錄事務日志和快照到持久存儲
1.3 工作原理
Zookeeper的核心是原子廣播,這個機制保證了各個Server之間的同步。實現這個機制的協議叫做Zab協議。 Zab協議有兩種模式 ,它們分別是恢復模式(選主)和廣播模式(同步)。
恢復模式: 當服務啟動或者在領導者崩潰后,Zab就進入了恢復模式,恢復模式不接受客戶端請求,當領導者被選舉出來,且大多數Server完成了和leader的狀態同步以后,恢復模式就結束了。狀態同步保證了leader和Server具有相同的系統狀態。
廣播模式: 一旦Leader已經和多數的Follower進行了狀態同步后,他就可以開始廣播消息了,即進入廣播狀態。這時候當一個Server加入ZooKeeper服務中,它會在恢復模式下啟動,發現Leader,并和Leader進行狀態同步。待到同步結束,它也參與消息廣播。ZooKeeper的廣播狀態一直到Leader崩潰了或者Leader失去了大部分的Followers支持。
1.4 Zookeeper節點數據操作流程
(1)寫操作
1)在Client向Follwer 或 Observer 發出一個寫的請求;
2)Follwer 或 Observer 把請求發送給Leader;
3)Leader接收到以后向所有follower發起提案;
4)Follwer收到提案后執行寫操作,然后把操作結果發送給Leader;
5)當多數follower返回提案結果后,leader會買粉絲mit該提議,通知其他Follower 和 Observer 同步信息;
6)Follwer 或Observer把請求結果返回給Client。
(2)讀操作
1)在Client向Follwer 或 Observer 發出一個讀的請求;
2)Follwer 或 Observer 把請求結果返回給Client;
1.5 主要特點
最終一致性 :client不論連接到哪個Server,展示給它都是同一個視圖,這是zookeeper最重要的特性;
可靠性 :具有簡單、健壯、良好的性能,如果消息被某一臺服務器接受,那么它將被所有的服務器接受;
實時性 :Zookeeper保證客戶端將在一個時間間隔范圍內獲得服務器的更新信息,或者服務器失效的信息。但由于網絡延時等原因,Zookeeper不能保證兩個客戶端能同時得到剛更新的數據,如果需要最新數據,應該在讀數據之前調用sync()接口;
等待無關(wait-買粉絲) :慢的或者失效的client,不得干預快速的client的請求,使得每個client都能有效的等待;
原子性 :更新只能成功或者失敗,沒有中間狀態;
順序性 :按照客戶端發送請求的順序更新數據。
1.6 zookeepr應用場景
1.6.1 數據發布與訂閱
發布與訂閱即所謂的配置管理,顧名思義就是將數據發布到ZK節點上,供訂閱者動態獲取數據,實現配置信息的集中式管理和動態更新。
應用配置集中到節點上,應用啟動時主動獲取,并在節點上注冊一個watcher,每次配置更新都會通知到應用。
1.6.2 命名空間服務 分布式命名服務,創建一個節點后,節點的路徑就是全局唯一的,可以作為全局名稱使用。
1.6.3 分布式通知/協調
不同的系統都監聽同一個節點,一旦有了更新,另一個系統能夠收到通知。
1.6.4 分布式鎖
Zookeeper能保證數據的強一致性,用戶任何時候都可以相信集群中每個節點的數據都是相同的。鎖的兩種體現方式:
(1)保持獨占
一個用戶創建一個節點作為鎖,另一個用戶檢測該節點,如果存在,代表別的用戶已經鎖住,如果不存在,則可以創建一個節點,代表擁有一個鎖。
(2)控制時序
有一個節點作為父節點,其底下是帶有編號的子節點,所有要獲取鎖的用戶,需要在父節點下創建帶有編號的子節點,編號最小的會持有鎖;當最我號的節點被刪除后,鎖被釋放,再重新找最我號的節點來持有鎖,這樣保證了全局有序。
1.6.5 集群管理
每個加入集群的機器都創建一個節點,寫入自己的狀態。監控父節點的用戶會收到通知,進行相應的處理。離開時刪除節點,監控父節點的用戶同樣會收到通知。
很赞哦!(37)
相关文章
- 01 買粉絲的申請流程(買粉絲怎么開通)
- 01 買粉絲簡介在哪里修改電腦(為什么買粉絲自定義修改了電腦端可以看到,手機端還是修改前的呢?)
- 01 買粉絲的海報怎么做(買粉絲里宣傳海報怎么做宣傳海報怎么做)
- 01 買粉絲知道我搜索了什么嗎(買粉絲買粉絲設置了不被別人搜索到,也沒有告訴任何人,為什么有一個人關注我的買粉絲了,他是怎么知道的)
- 01 買粉絲內容怎么做背景(買粉絲買粉絲怎么設置文章背景)
- 01 買粉絲制作軟件有哪些(做買粉絲買粉絲的軟件有哪些)
- 01 買粉絲關鍵詞自動回復創意語(買粉絲買粉絲被關注的自動回復幽默句子集合(50句))
- 01 買粉絲關鍵詞回復怎么設置(買粉絲公眾平臺怎么設置關鍵字回復)
- 01 買粉絲的素材管理在哪里找(買粉絲買粉絲后臺素材怎么找回)
- 01 買粉絲的文章修改后怎么還是之前錯的呢(買粉絲已發布標題錯了怎么辦)