成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

storm入門教程 第一章

開發 前端
互聯網從誕生的第一時間起,對世界的最大的改變就是讓信息能夠實時交互,從而大大加速了各個環節的效率。正因為大家對信息實時響應、實時交互的需 求,軟件行業除了個人操作系統之外,數據庫(更精確的說是關系型數據庫)應該是軟件行業發展最快、收益最為豐厚的產品了。記得十年前,很多銀行別說實時轉 賬,連實時查詢都做不到,但是數據庫和高速網絡改變了這個情況。

1.1   實時流計算

互聯網從誕生的***時間起,對世界的***的改變就是讓信息能夠實時交互,從而大大加速了各個環節的效率。正因為大家對信息實時響應、實時交互的需 求,軟件行業除了個人操作系統之外,數據庫(更精確的說是關系型數據庫)應該是軟件行業發展最快、收益最為豐厚的產品了。記得十年前,很多銀行別說實時轉 賬,連實時查詢都做不到,但是數據庫和高速網絡改變了這個情況。

隨著互聯網的更進一步發展,從Portal信息瀏覽型到Search信息搜索型到SNS關系交互傳遞型,以及電子商務、互聯網旅游生活產品等將生活 中的流通環節在線化。對效率的要求讓大家對于實時性的要求進一步提升,而信息的交互和溝通正在從點對點往信息鏈甚至信息網的方向發展,這樣必然帶來數據在 各個維度的交叉關聯,數據爆炸已不可避免。因此流式處理加NoSQL產品應運而生,分別解決實時框架和數據大規模存儲計算的問題。

 

早在7、8年前諸如UC伯克利、斯坦福等大學就開始了對流式數據處理的研究,但是由于更多的關注于金融行業的業務場景或者互聯網流量監控的業務場 景,以及當時互聯網數據場景的限制,造成了研究多是基于對傳統數據庫處理的流式化,對流式框架本身的研究偏少。目前這樣的研究逐漸沒有了聲音,工業界更多 的精力轉向了實時數據庫。

2010年Yahoo!對S4的開源,2011年twitter對Storm的開源,改變了這個情況。以前互聯網的開發人員在做一個實時應用的時 候,除了要關注應用邏輯計算處理本身,還要為了數據的實時流轉、交互、分布大傷腦筋。但是現在情況卻大為不同,以Storm為例,開發人員可以快速的搭建 一套健壯、易用的實時流處理框架,配合SQL產品或者NoSQL產品或者MapReduce計算平臺,就可以低成本的做出很多以前很難想象的實時產品:比 如一淘數據部的量子恒道品牌旗下的多個產品就是構建在實時流處理平臺上的。

本教程是一本對storm的基礎介紹手冊,但是我們也希望它不僅僅是一本storm的使用手冊,我們會在其中加入更多我們在實際數據生產過程的經驗和應用的架構,***的目的是幫助所有愿意使用實時流處理框架的技術同仁,同時也默默的改變這個世界。

1.2   Storm特點

Storm是一個開源的分布式實時計算系統,可以簡單、可靠的處理大量的數據流。Storm有很多使用場景:如實時分析,在線機器學習,持續計算, 分布式RPC,ETL等等。Storm支持水平擴展,具有高容錯性,保證每個消息都會得到處理,而且處理速度很快(在一個小集群中,每個結點每秒可以處理 數以百萬計的消息)。Storm的部署和運維都很便捷,而且更為重要的是可以使用任意編程語言來開發應用。

Storm有如下特點:

  • 編程模型簡單

在大數據處理方面相信大家對hadoop已經耳熟能詳,基于Google Map/Reduce來實現的Hadoop為開發者提供了map、reduce原語,使并行批處理程序變得非常地簡單和優美。同樣,Storm也為大數據 的實時計算提供了一些簡單優美的原語,這大大降低了開發并行實時處理的任務的復雜性,幫助你快速、高效的開發應用。

  • 可擴展

在Storm集群中真正運行topology的主要有三個實體:工作進程、線程和任務。Storm集群中的每臺機器上都可以運行多個工作進程,每個 工作進程又可創建多個線程,每個線程可以執行多個任務,任務是真正進行數據處理的實體,我們開發的spout、bolt就是作為一個或者多個任務的方式執 行的。

因此,計算任務在多個線程、進程和服務器之間并行進行,支持靈活的水平擴展。

  • 高可靠性

Storm可以保證spout發出的每條消息都能被“完全處理”,這也是直接區別于其他實時系統的地方,如S4。

請注意,spout發出的消息后續可能會觸發產生成千上萬條消息,可以形象的理解為一棵消息樹,其中spout發出的消息為樹根,Storm會跟蹤 這棵消息樹的處理情況,只有當這棵消息樹中的所有消息都被處理了,Storm才會認為spout發出的這個消息已經被“完全處理”。如果這棵消息樹中的任 何一個消息處理失敗了,或者整棵消息樹在限定的時間內沒有“完全處理”,那么spout發出的消息就會重發。

考慮到盡可能減少對內存的消耗,Storm并不會跟蹤消息樹中的每個消息,而是采用了一些特殊的策略,它把消息樹當作一個整體來跟蹤,對消息樹中所 有消息的唯一id進行異或計算,通過是否為零來判定spout發出的消息是否被“完全處理”,這極大的節約了內存和簡化了判定邏輯,后面會對這種機制進行 詳細介紹。

這種模式,每發送一個消息,都會同步發送一個ack/fail,對于網絡的帶寬會有一定的消耗,如果對于可靠性要求不高,可通過使用不同的emit接口關閉該模式。

上面所說的,Storm保證了每個消息至少被處理一次,但是對于有些計算場合,會嚴格要求每個消息只被處理一次,幸而Storm的0.7.0引入了事務性拓撲,解決了這個問題,后面會有詳述。

  •  高容錯性

如果在消息處理過程中出了一些異常,Storm會重新安排這個出問題的處理單元。Storm保證一個處理單元永遠運行(除非你顯式殺掉這個處理單元)。

當然,如果處理單元中存儲了中間狀態,那么當處理單元重新被Storm啟動的時候,需要應用自己處理中間狀態的恢復。

  • 支持多種編程語言

除了用java實現spout和bolt,你還可以使用任何你熟悉的編程語言來完成這項工作,這一切得益于Storm所謂的多語言協議。多語言協議 是Storm內部的一種特殊協議,允許spout或者bolt使用標準輸入和標準輸出來進行消息傳遞,傳遞的消息為單行文本或者是json編碼的多行。

Storm支持多語言編程主要是通過ShellBolt, ShellSpout和ShellProcess這些類來實現的,這些類都實現了IBolt 和 ISpout接口,以及讓shell通過java的ProcessBuilder類來執行腳本或者程序的協議。

可以看到,采用這種方式,每個tuple在處理的時候都需要進行json的編解碼,因此在吞吐量上會有較大影響。

  • 支持本地模式

Storm有一種“本地模式”,也就是在進程中模擬一個Storm集群的所有功能,以本地模式運行topology跟在集群上運行topology類似,這對于我們開發和測試來說非常有用。

  • 高效

用ZeroMQ作為底層消息隊列, 保證消息能快速被處理

原文鏈接:http://blog.linezing.com/2012/12/storm%E5%85%A5%E9%97%A8%E6%95%

責任編輯:陳四芳 來源: 量子恒道官方博客
相關推薦

2013-08-29 14:12:52

Storm分布式實時計算

2014-01-16 11:14:37

StormTopology

2014-01-16 14:30:43

storm安裝部署

2013-08-29 14:28:09

StormHadoop

2015-12-30 09:25:47

編程故事printf

2014-01-16 16:53:53

storm事務一致性

2012-02-09 10:39:37

AndroidWeb App官方文檔

2013-12-12 16:37:45

Storm入門教程一致性事務

2011-07-19 17:25:14

jQuery MobiAndroid

2013-09-18 14:46:32

StormStorm集群

2013-12-12 16:14:21

storm入門教程storm消息處理

2014-01-16 15:48:49

storm

2023-08-03 13:56:53

配置文件容器

2011-07-20 10:27:18

jQuery Mobi手機新聞瀏覽器

2013-10-15 14:18:31

2023-05-24 16:13:31

ChatGPT神經網絡

2018-03-22 14:59:13

Docker入門容器

2010-12-07 10:40:27

軟考系統架構設計師

2018-06-14 11:02:37

區塊鏈支付寶去中心化

2016-09-26 08:09:53

人臉識別seetaface開源
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产在线h | 国产日韩欧美一区二区 | 最新免费av网站 | 国产乱码高清区二区三区在线 | 精品一区二区三区在线观看 | 日本亚洲欧美 | 午夜色播 | 亚洲国产高清高潮精品美女 | 国产精品成人国产乱 | 精品国产一区二区三区性色av | 免费在线视频一区二区 | 国产最新精品视频 | 亚洲第一区久久 | 成人免费毛片片v | 黄色毛片免费看 | 午夜久久久| 一区影院| 国产精品免费在线 | 久久精品一区 | 九色 在线 | 成人福利视频网站 | 欧美激情99| 我要看免费一级毛片 | 久久久免费 | 欧美精品一区二区在线观看 | 亚洲人成在线播放 | 成人亚洲网| 久久久精彩视频 | 欧美精品一区三区 | 欧美日韩成人在线 | 亚洲精品黄色 | 一区二区三区福利视频 | 欧美一区二区二区 | 羞羞视频网站在线观看 | 国产精品久久久久久久久免费软件 | 欧美成人精品一区二区三区 | 特级毛片 | 一级欧美一级日韩片 | 成人精品一区二区三区中文字幕 | 国产成人精品久久久 | 国产成人精品免高潮在线观看 |