91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Storm的Acker機制是什么

發布時間:2021-12-23 14:24:03 來源:億速云 閱讀:146 作者:iii 欄目:云計算

這篇文章主要講解了“Storm的Acker機制是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Storm的Acker機制是什么”吧!

基本概念的解析

對于Storm,有一個相對比較重要的概念就是 "Guarantee no data loss" -- 可靠性

很明顯,要做到這個特性,必須要tracker 每一個data的去向和結果,Storm是如何做到的

-》 那就是我們接下來要說的 Acker 機制,先概括下Acker所參與的工作流程

1 Spout 創建一個新的Tuple時候,會發射一個消息通知acker去跟蹤;

2 Bolt 在處理Tuple成功或者失敗的時候,也會發送一個消息通知Acker

3 Acker會好到發射該Tuple的Spout,回掉其Ack ,fail方法

一個tuple被完全處理的意思是:

這個tuple以及由這個tuple后續所導致的所有tuple 都被成功的處理, 而一個tuple會被認為處理失敗了,如果這個

消息在timeout所指定的時間內沒有成功處理

也就是說對于任何一個Spout-tuple以及它的子孫,到底處理成功失敗與否,我們都會得到通知

由一個tuple產生一個新的tuple稱為:anchoring,你發射一個tuple的同時也就完成了一次anchoring

Storm 里面有一類特殊的task稱為:acker,請注意,Acker也是屬于一種task,如果您對Task還不夠熟悉,請參考另外的一篇文檔:有關Storm-executor-task的關系,acker負責跟蹤spout發出的每一個tuple的tuple樹,當Acker發現一個tuple樹已經處理完成了,它就會發送一個消息給產生這個tuple的task。

Acker task 組件來設置一個topology里面的acker的數量,默認值是一,如果你的topoogy里面的tuple比較多的話,那么請把acker的數量設置多一點,效率會更高一點。

理解Storm的可靠性的辦法是看看 tuple,tuple樹的生命周期,當一個tuple被創建,不管是Spout 和bolt 創建的,他被賦予一個位的ID,而acker就是利用這個ID 去跟蹤所有的tuple的。每一個tuple知他祖宗的iD,吐過Stomr檢測到一個tuple被完全處理了,那么Storm會以最開始的那個message-id 作為參數去調用消息源頭的ACk方法,反之Storm會調用Spout的fail方法,

值得注意的一點是Storm調用Ack或則fail的task始終是產生這個tuple的那個task,所以如果一個Spout,被分為很多個task來執行,消息執行的成功失敗與否始終會通知最開始發出tuple的那個task

Storm的可靠性產景

作為Storm的使用者,有兩件事情要做以更好的利用Storm的可靠性特征,首先你在生成一個tuple的時候要通知Storm,其次,完全處理一個tuple之后要通知Storm,這樣Storm就可以檢測到整個tuple樹有沒有完成處理,并且通知源Spout處理結果

1  由于對應的task掛掉了,一個tuple沒有被Ack:

    Storm的超時機制在超時之后會把這個tuple標記為失敗,從而可以重新處理

2 Acker掛掉了: 在這種情況下,由這個Acker所跟蹤的所有spout tuple都會出現超時,也會被重新的處理

3 Spout 掛掉了:在這種情況下給Spout發送消息的消息源負責重新發送這些消息

三個基本的機制,保證了Storm的完全分布式,可伸縮的并且高度容錯的。

感謝各位的閱讀,以上就是“Storm的Acker機制是什么”的內容了,經過本文的學習后,相信大家對Storm的Acker機制是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

闻喜县| 青龙| 信阳市| 永靖县| 扎兰屯市| 侯马市| 西乌珠穆沁旗| 子洲县| 进贤县| 元朗区| 洛宁县| 道真| 大同市| 永川市| 丰宁| 山阳县| 报价| 龙南县| 潼南县| 新竹市| 永清县| 铁岭市| 广平县| 东光县| 富蕴县| 盐池县| 革吉县| 安徽省| 奎屯市| 蒙自县| 长乐市| 克什克腾旗| 星子县| 阿合奇县| 府谷县| 海安县| 深泽县| 东光县| 休宁县| 新野县| 台中市|