2024基于storm的實(shí)時(shí)計(jì)算架構(gòu)_第1頁(yè)
2024基于storm的實(shí)時(shí)計(jì)算架構(gòu)_第2頁(yè)
2024基于storm的實(shí)時(shí)計(jì)算架構(gòu)_第3頁(yè)
2024基于storm的實(shí)時(shí)計(jì)算架構(gòu)_第4頁(yè)
2024基于storm的實(shí)時(shí)計(jì)算架構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

實(shí)時(shí)流計(jì)算應(yīng)用開(kāi)發(fā)框架-天罡提綱1.背景2.業(yè)界3.產(chǎn)品介紹4.架構(gòu)設(shè)計(jì)5

.

s

q

u

i

r

r

e

l Q

L6.實(shí)踐經(jīng)驗(yàn)1.1

業(yè)務(wù)背景Big

data數(shù)據(jù)量膨脹業(yè)務(wù)快速變化,商業(yè)模式的創(chuàng)新SNS,移動(dòng)互聯(lián)網(wǎng)用戶體驗(yàn)個(gè)性化,實(shí)時(shí)化…1.2

離線計(jì)算vs.流計(jì)算From

<IBM

InfoSphere

Streams:

Harnessing

Data

in

Motion>1.3

數(shù)據(jù)分析演進(jìn)趨勢(shì)2.1業(yè)界流計(jì)算引擎2.2

storm介紹最新版本storm

0.74主要特性:-適用場(chǎng)景廣泛-可伸縮性高-保證無(wú)數(shù)據(jù)丟失-異常健壯-容錯(cuò)性好一些問(wèn)題:-編程門檻對(duì)普通用戶較高-框架無(wú)持久化存儲(chǔ)-框架不提供消息接入模塊-storm

ui功能簡(jiǎn)單-跨topology的bolt復(fù)用-nimbus單點(diǎn)-topology不支持動(dòng)態(tài)部署2.3

storm架構(gòu)3.1

阿里巴巴業(yè)務(wù)需求特征目前需求歸類統(tǒng)計(jì)業(yè)務(wù)關(guān)鍵指標(biāo),客觀反映當(dāng)前的業(yè)績(jī)現(xiàn)狀,比如網(wǎng)站活動(dòng)監(jiān)控需求特征1跟蹤業(yè)務(wù)指標(biāo)的變化趨勢(shì),出現(xiàn)異常波動(dòng),能智能報(bào)警2分鐘級(jí)延遲;丌能漏算;丌能錯(cuò)算;統(tǒng)計(jì)時(shí)長(zhǎng)為當(dāng)天;分鐘級(jí)延遲;丌能漏算;丌能錯(cuò)算;統(tǒng)計(jì)時(shí)長(zhǎng)為當(dāng)天;業(yè)務(wù)閉環(huán)運(yùn)營(yíng)中的實(shí)時(shí)數(shù)據(jù)應(yīng)用,比如事件營(yíng)銷,觸發(fā)式服務(wù)3秒級(jí)延遲;允許漏算;丌能錯(cuò)算;計(jì)算過(guò)程復(fù)雜(規(guī)則多);實(shí)時(shí)推薦4秒級(jí)延遲;允許漏算;丌能錯(cuò)算;不推薦系統(tǒng)交互頻繁;實(shí)時(shí)數(shù)據(jù)信息服務(wù)5秒級(jí)延遲;丌允許漏算;丌能錯(cuò)算;計(jì)算

過(guò)程復(fù)雜(指標(biāo)定義復(fù)雜,指標(biāo)個(gè)數(shù)多);部分指標(biāo)統(tǒng)計(jì)時(shí)長(zhǎng)跨天;3.2天罡-產(chǎn)品定位天罡:實(shí)時(shí)流計(jì)算應(yīng)用開(kāi)發(fā)框架深刻理解實(shí)時(shí)業(yè)務(wù)需求,提供實(shí)時(shí)計(jì)算的完整應(yīng)用開(kāi)發(fā)框架屏蔽系統(tǒng)復(fù)雜性,可配置方式即可完成消息源接入類SQL工具,封裝引擎系統(tǒng),降低實(shí)時(shí)計(jì)算任務(wù)的開(kāi)發(fā)難度完整的任務(wù)管理系統(tǒng),提供任務(wù)配置、發(fā)布、管控一條龍服務(wù)強(qiáng)大的運(yùn)維管理系統(tǒng),監(jiān)控系統(tǒng)、任務(wù)、數(shù)據(jù)的狀態(tài),適時(shí)報(bào)警3.3天罡Features簡(jiǎn)單統(tǒng)計(jì)計(jì)算(包括時(shí)間窗口)多流join計(jì)算(動(dòng)態(tài))容錯(cuò),事務(wù)中間狀態(tài)持久化統(tǒng)一消息接入支持類SQL支持?jǐn)?shù)據(jù)類型:int/long/string/double…支持schema支持join,distinct,group

by,count,top

N支持常規(guī)函數(shù)-to_char

,substr…3.4天罡-核心概念數(shù)據(jù)采集數(shù)據(jù)接入流式計(jì)算數(shù)據(jù)輸出處理流程Job信息processingExtract

jobMessage

sourceMessage

topicMessage

topicMessageMessageDataMessageProcessing

job由messageextractservice提供功能凼數(shù)由類SQL組件實(shí)現(xiàn)業(yè)務(wù)邏輯天罡系統(tǒng)里的相關(guān)概念說(shuō)明:一個(gè)message

source(相當(dāng)亍database)包括1個(gè)以上的message

topic(相當(dāng)亍table),一個(gè)message

topic由1條以上的message(相當(dāng)亍record)組成。天罡系統(tǒng)有二類Job,分別稱為extract

job和processingjob。一個(gè)extract

job負(fù)責(zé)一個(gè)message

topic的消息接入,一個(gè)

processingjob由1個(gè)以上的message

topic參不計(jì)算。一個(gè)message

topic可以被多個(gè)processingjob引用。Processingjob的輸入內(nèi)容稱為message,計(jì)算的結(jié)果輸出,稱為data。4.1天罡-技術(shù)方案Engine

state

storageerosa精衛(wèi)實(shí)時(shí)logStream

processing

engine(storm)HBASE…Squrriel

QLtable

join

distinct

arg消息處理流向SQL解析組件SQL執(zhí)行計(jì)劃組件元數(shù)據(jù)管理算子組件supervisorboltnimbuszookeperspoutLocal

buffer

cachePersistence

storageDataoutputserviceHBASEDBmessageconnectormessageadaptorMessageextractservicemetaMSCmanagerMessagestoragecenterfile…4.2天罡-功能模塊劃分Message

extract

serviceMessage

store

centerStream

processing

engineEngine

state

storageData

output

serviceData

subscriber

serviceGlobal

Control

SystemMonitor

&

AlarmJob

Control

CenterJob

Configure

AssistantCommand

Line

ClientLogMetadata

Centersquirrel

QL4.3天罡-功能模塊關(guān)系應(yīng)用開(kāi)發(fā)系統(tǒng)模塊運(yùn)維管控報(bào)警MessageextractserviceMessagestore

centerLogEnginestate

storageProcessing

operatorinterfaceStream

processingengineJob

controlcenterJob

Configure

AssistantDataoutput

serviceMonitor(system,service,job,data)AlarmMetadata4.4

Message

extract

serviceExtract

jobmessage連接器,能夠接入db、log、file、mqmessage適配器,提供字段選擇、格式轉(zhuǎn)換功能實(shí)現(xiàn)Job的配置和管理接口服務(wù)分布式調(diào)度控制管理負(fù)載管理Job啟動(dòng),停止規(guī)則配置– Keyword

searchMessage

Extract

ServiceZookeeperRainbowMajordomoMajordomo……1023103179123……Job4.5

Message

store

center統(tǒng)一消息存儲(chǔ)方式基于Metamorphosis:淘寶一款類似Kafka強(qiáng)大的通用消息中間件Pull模式的MQ高吞吐量Meta

spout支持消息順序Message

read

interfaceMessage

write

interfaceMSC

manager4.6

Engine

state

storage中間狀態(tài)持久化需求場(chǎng)景join聚合原始消息存儲(chǔ)容錯(cuò),事務(wù)消重聚吅JoinDistinctBolt存儲(chǔ)策略層LocalBufferHBaseRedis……4.7

Global

Control

System系統(tǒng)、任務(wù)等配置信息的統(tǒng)一存儲(chǔ)管理中心提供用戶體驗(yàn)良好的任務(wù)研發(fā)和配置服務(wù)任務(wù)管理中心,直觀反應(yīng)當(dāng)前任務(wù)執(zhí)行狀態(tài),能夠中止、暫時(shí)、重設(shè)任務(wù)監(jiān)控:系統(tǒng)(內(nèi)存,cpu,網(wǎng)絡(luò),

io等),功能(redis,meta,storm等),任務(wù),數(shù)據(jù)質(zhì)量storm集群管理5.1

stormtopology開(kāi)發(fā)效率過(guò)濾中間狀態(tài)存儲(chǔ)容錯(cuò)輸出…聚合簡(jiǎn)單統(tǒng)計(jì)場(chǎng)景(中文站UV,PV統(tǒng)計(jì)):select

a,b,count(c),count(distinct

d)

from

x

where

a=1

group

byto_char(a,'yyyymmdd'),bTopologyBuilder

builder

=

newTopologyBuilder();builder.setSpout(1,

cbuuvpvSpout(),

10);builder.setBolt(2,

cbupvuvBolt(),3).shuffleGrouping(1);……5.2

squirrel

QL架構(gòu)CLIwebsqlSQL解析SQL執(zhí)行計(jì)劃metadata數(shù)據(jù)源selectselectjoin數(shù)據(jù)源數(shù)據(jù)源count(*)輸出IDEtablejoindistinctarg……輸出算子5.3

squirrel

QL

解析流程SQLDsComponentJoinComponmentstormDsstormJoinstormOptspoutboltAGGDistProjSeleOptComponment5.4

squirrel

QL聚合SELECT

uid,COUNT(order) FROM

tableGROUP

by

uidtableCOUNTAGGDs:Projection(uid,order)Opt:Goup

by

uidSchema(uid,count)5.5

squirrel

QL

JOINSELECTc.country,COUNT(o.order)

FROMcustormercorder

o

onjoinc.uid=

o.uidGROUP

BY

c.countryCUSTOMERORDERCUSTOMER_ORDERCOUNTAGGDs:Projection:uid,countryDs:Projection:uid

,orderJoinOpt:Schema(country,order)CountaggOperation:Grouby

countrySchema(country,count)5.6

squrriel

QL&Hive

QLHive

QLSqurriel

QL數(shù)據(jù)存儲(chǔ)HDFSHBASE數(shù)據(jù)格式用戶自定義用戶自定義數(shù)據(jù)更新不支持不支持索引有(0.8版之后增加)無(wú)執(zhí)行MapReduceTopology可擴(kuò)展性高(UDF,UDAF,UDTF)高6.1

實(shí)踐經(jīng)驗(yàn)中間狀態(tài)讀寫策略緩存,超時(shí)6秒LRU命中率6.2實(shí)踐經(jīng)驗(yàn)(Cont.)消息順序如何保證?全序,偏序設(shè)置保序key消息中間件meta存儲(chǔ)順序保證在同一個(gè)task(fields

grouping,自定義hash

grouping)Bolt

ASpoutTaskBolt

BMetaQ消息分區(qū)StreamGrouping相同key的消息hash分區(qū)6.3

實(shí)踐經(jīng)驗(yàn)(Cont.)時(shí)效與準(zhǔn)確性間平衡純流計(jì)算(時(shí)序不嚴(yán)格,注重時(shí)效性,準(zhǔn)確性可 通過(guò)批量計(jì)算補(bǔ)償)精確計(jì)算(犧牲一定時(shí)效,接近準(zhǔn)確)消息保序transactional

topolgoy

(transaction

id)消

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論