您好,登錄后才能下訂單哦!
這篇文章主要講解了“Storm基本概念是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Storm基本概念是什么”吧!
1、Storm基本概念:
Nimbus:負責資源分配和任務調度
Supervisor:負責Nimbus分配的任務,啟動和停止屬于自己管理的worker進程
Worker:運行具體處理邏輯的組件進程
Spout/Bolt(Task):worker中每一個(Spout/Bolt)線程稱為一個Task,在storm0.8版本之后,task不再與物理線程對應,同一個Spout/Bolt的Task可能共享一個物理線程,該線程稱為executor
Topology:所有組件(即Spouts/Bolts)的排列與連接被稱之為一個Topology
Spout:產生源數據流的組件
Bolt:接收、執行數據的組件
Tuple:消息傳遞的基本單元(將消息放在Tuple中進行傳輸)
Stream:源源不斷的傳遞的Tuple組成了Stream
數據處理的過程:
處理工作被分派給不同類型的組件(components),每個組件分別負責一個簡單、特定的處理任務。處理Storm集群輸入流的組件叫噴口(spout),噴口再將數據傳給一個叫螺栓(bolt)的組件,并在螺栓中處理數據,處理完成之后,螺栓要么將這些數據存儲起來(存儲在數據庫、磁盤甚至是對象中),要么將它傳給其他螺栓。因此,可以將Storm集群想象成一個螺栓鏈,每個螺栓都會對噴口發送的數據作出一些處理。
2、Storm特性(優勢/好處)
編程簡單、支持多種語言編程、容錯、可擴展、可靠、快速、事務性
與其它實時計算系統(s4, puma)的區別
記錄級容錯:告知用戶每一個消息單元是否在指定的時間內被完全處理(消息單元是否完全經過Topology每一個Bolt組件的處理)
1、Spout在發送一個新源時會為Tuple指定一個Message Id(這個MessageId可以是任意對象)
2、Topology中有一個系統級組件叫acker,acker追蹤每一個從Spout中綁定MessageId所流出來的若干個Tuple的處理路徑
3、如果用戶設置的最大超時時間內這些tuple沒有被完全處理,那么acker就會告知spout該消息處理失敗了,相反則會告知spout該消息處理成功了
事務拓撲(Transactional Topology):storm0.7版本引入的新特性,在0.8版本替換為Trident,在0.9版本棄用,目的是為了滿足對消息處理有著極其嚴格要求的場景,例如實時計算某個用戶的成交筆數,要求結果完全精確,不能多也不能少。
感謝各位的閱讀,以上就是“Storm基本概念是什么”的內容了,經過本文的學習后,相信大家對Storm基本概念是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。