久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

Apache Storm

來自站長(zhǎng)百科
跳轉(zhuǎn)至: 導(dǎo)航、? 搜索

Apache Storm 是一個(gè)免費(fèi)的開源分布式實(shí)時(shí)計(jì)算系統(tǒng),它使處理無限數(shù)據(jù)流變得可靠且容易,就像Apache Hadoop 在批處理方面的作用一樣,但是可以進(jìn)行實(shí)時(shí)處理。Apache Storm 的設(shè)計(jì)簡(jiǎn)單,可以與任何編程語言一起使用,并且非常有趣!

Apache Storm 適用于多種用例,包括實(shí)時(shí)分析、在線機(jī)器學(xué)習(xí)、持續(xù)計(jì)算、分布式 RPC、ETL 等。它的處理速度非常快:基準(zhǔn)測(cè)試顯示,每個(gè)節(jié)點(diǎn)每秒可以處理超過 100 萬個(gè)元組。此外,Apache Storm 具有可擴(kuò)展性和容錯(cuò)性,能夠確保數(shù)據(jù)得到處理,并且易于設(shè)置和操作。

核心架構(gòu)[ ]

1、Nimbus

Nimbus是Storm的主節(jié)點(diǎn),它負(fù)責(zé)資源分配和任務(wù)調(diào)度。在一個(gè)Storm集群中,只有一個(gè)Nimbus節(jié)點(diǎn)。

2、Supervisor

Supervisor是Storm的工作節(jié)點(diǎn),它負(fù)責(zé)接收Nimbus分配的任務(wù)并管理所有的Worker進(jìn)程。一個(gè)Supervisor節(jié)點(diǎn)可以包含多個(gè)Worker進(jìn)程。

3、Worker

Worker是工作進(jìn)程,每個(gè)Worker進(jìn)程都包含多個(gè)Task。

4、Task

Task是任務(wù),在Storm集群中,每個(gè)Spout和Bolt都由若干個(gè)任務(wù)來執(zhí)行。每個(gè)任務(wù)都與一個(gè)執(zhí)行線程相對(duì)應(yīng)。

5、Topology

Topology是計(jì)算拓?fù)洌菍?duì)實(shí)時(shí)計(jì)算應(yīng)用邏輯的封裝。與MapReduce的任務(wù)(Job)類似,區(qū)別在于MapReduce的一個(gè)Job在得到結(jié)果后會(huì)結(jié)束,而拓?fù)鋾?huì)一直在集群中運(yùn)行,直到你手動(dòng)終止它。拓?fù)湟部梢岳斫鉃橛梢幌盗型ㄟ^數(shù)據(jù)流(Stream Grouping)相互關(guān)聯(lián)的Spout和Bolt組成的拓?fù)浣Y(jié)構(gòu)。

6、Stream

Stream是數(shù)據(jù)流,是Storm中最核心的抽象概念。一個(gè)數(shù)據(jù)流指的是在分布式環(huán)境中并行創(chuàng)建、處理的一組元組(tuple)的無界序列。數(shù)據(jù)流可以通過一種能夠描述數(shù)據(jù)流中元組域(fields)的模式來定義。

7、Spout

Spout是數(shù)據(jù)源,它是拓?fù)渲袛?shù)據(jù)流的起點(diǎn)。通常,Spout會(huì)從一個(gè)外部數(shù)據(jù)源讀取元組并將它們發(fā)送到拓?fù)渲?。根?jù)需求的不同,Spout可以被定義為可靠的或不可靠的數(shù)據(jù)源。可靠的Spout能夠在其發(fā)送的元組處理失敗時(shí)重新發(fā)送該元組,以確保所有元組都能得到正確處理;相反,不可靠的Spout在元組發(fā)送后不會(huì)進(jìn)行任何其他處理。一個(gè)Spout可以發(fā)送多個(gè)數(shù)據(jù)流。

8、Bolt

Bolt是拓?fù)渲型瓿伤袛?shù)據(jù)處理的組件。通過數(shù)據(jù)過濾、函數(shù)處理、聚合、聯(lián)結(jié)、數(shù)據(jù)庫交互等功能,Bolt幾乎可以完成任何類型的數(shù)據(jù)處理需求。一個(gè)簡(jiǎn)單的數(shù)據(jù)流轉(zhuǎn)換可以由一個(gè)Bolt實(shí)現(xiàn),而更復(fù)雜的數(shù)據(jù)流變換通常需要使用多個(gè)Bolt并通過多個(gè)步驟完成。

9、Stream grouping

Stream grouping是為拓?fù)渲械拿總€(gè)Bolt確定輸入數(shù)據(jù)流的方式。數(shù)據(jù)流分組定義了如何在Bolt的不同任務(wù)之間劃分?jǐn)?shù)據(jù)流。Storm提供了八種內(nèi)置的數(shù)據(jù)流分組方式。

10、Reliability

Reliability是可靠性。Storm可以通過拓?fù)浯_保每個(gè)發(fā)送的元組都能得到正確處理。通過跟蹤由Spout發(fā)出的每個(gè)元組構(gòu)成的元組樹,可以確定元組是否已經(jīng)完成處理。每個(gè)拓?fù)涠加幸粋€(gè)“消息延時(shí)”參數(shù),如果Storm在延時(shí)時(shí)間內(nèi)沒有檢測(cè)到元組是否處理完成,就會(huì)將該元組標(biāo)記為處理失敗,并在稍后重新發(fā)送該元組。

優(yōu)勢(shì)[ ]

  • Storm是開源的,強(qiáng)大的,用戶友好的。它可以用于小公司和大公司。
  • Storm是容錯(cuò)的,靈活的,可靠的,并且支持任何編程語言。
  • 允許實(shí)時(shí)流處理。
  • Storm是令人難以置信的快,因?yàn)樗哂芯薮蟮奶幚?a href="/wiki/%E6%95%B0%E6%8D%AE" title="數(shù)據(jù)">數(shù)據(jù)的力量。
  • Storm可以通過線性增加資源來保持性能,即使在負(fù)載增加的情況下。它是高度可擴(kuò)展的。
  • Storm在幾秒鐘或幾分鐘內(nèi)執(zhí)行數(shù)據(jù)刷新和端到端傳送響應(yīng)取決于問題。它具有非常低的延遲。
  • Storm有操作智能。
  • Storm提供保證的數(shù)據(jù)處理,即使群集中的任何連接的節(jié)點(diǎn)死或消息丟失。

示例[ ]

  • Twitter - Twitter正在使用Apache Storm作為其“發(fā)布商分析產(chǎn)品”。 “發(fā)布商分析產(chǎn)品”處理Twitter平臺(tái)中的每個(gè)tweets和點(diǎn)擊。 Apache Storm與Twitter基礎(chǔ)架構(gòu)深度集成。
  • NaviSite - NaviSite正在使用Storm進(jìn)行事件日志監(jiān)控/審計(jì)系統(tǒng)。系統(tǒng)中生成的每個(gè)日志都將通過Storm。Storm將根據(jù)配置的正則表達(dá)式集檢查消息,如果存在匹配,那么該特定消息將保存到數(shù)據(jù)庫。
  • Wego - Wego是位于新加坡的旅行元搜索引擎。旅行相關(guān)數(shù)據(jù)來自世界各地的許多來源,時(shí)間不同。Storm幫助Wego搜索實(shí)時(shí)數(shù)據(jù),解決并發(fā)問題,并為最終用戶找到最佳匹配。

相關(guān)條目[ ]