精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

一種基于Storm的可擴展即時數(shù)據(jù)處理架構(gòu)思考

責(zé)任編輯:editor007

作者:且聽風(fēng)吟

2015-07-27 17:38:00

摘自:博客園

使用storm可以方便的構(gòu)建一種集群式的數(shù)據(jù)框架,并通過定義topo來實現(xiàn)業(yè)務(wù)邏輯。如果輔以Hadoop等大數(shù)據(jù)存儲平臺及Redis緩存,加以使用zookeeper構(gòu)成的分布式鎖,已經(jīng)基本可以構(gòu)建一套即時的可擴展的大數(shù)據(jù)處理平臺。

使用storm可以方便的構(gòu)建一種集群式的數(shù)據(jù)框架,并通過定義topo來實現(xiàn)業(yè)務(wù)邏輯。

但使用topo存在一個缺點, topo的處理能力來自于其啟動時設(shè)置的worker數(shù)目,在很多情況下,我們需要能夠根據(jù)業(yè)務(wù)壓力來調(diào)整集群的處理能力,這時候單一的topo就無法解決這個問題了。

為了能夠更加靈活的定義處理能力,可以考慮將原有的topo根據(jù)業(yè)務(wù)域進行拆分,做到互不干擾,靈活控制,而且為了能夠更加經(jīng)濟的利用處理資源,可以考慮引入worker資源池的概念,達到對資源的充分利用。

但使用這種多topo架構(gòu)存在一個致命問題,storm中的topo是各自獨立,無法直接通信的,因此在獲取某些關(guān)鍵資源時,可能會出現(xiàn)資源爭搶的情況的。面對此種場景,有兩種處理思路:

其一:使用zookeeper等提供的分布式鎖,來實現(xiàn)對關(guān)鍵資源的控制,缺點是可靠性及效率存在問題,使用與對處理效率要求不高的場景。

其二:由第三方對關(guān)鍵資源進行分配,規(guī)避由topo本身對資源的爭搶,這種方案引入了新的構(gòu)建,提高了系統(tǒng)的復(fù)雜度。

處理架構(gòu)

集群的優(yōu)點是處理能力可擴展,但會帶來數(shù)據(jù)同步、開發(fā)維護復(fù)雜度以及數(shù)據(jù)一致性等問題。

我們現(xiàn)在雖然已經(jīng)有了很多集群處理框架及相應(yīng)組件用來簡化相應(yīng)的開發(fā)及維護工作量,但從項目開發(fā)的實際來看,我們還是需要處理一些沒有被成熟組件包含但又非常棘手的問題。

storm定義的集群可以提供方便的可擴展處理能力,在整個集群中,topo都是等價的,在storm運行環(huán)境內(nèi)部,topo之間也無法交流。

回到上面的問題,通過storm,我們獲得了即時的集群處理能力;通過topo,我們可以自定義業(yè)務(wù),并方便的在節(jié)點中分發(fā);通過worker數(shù)目的變化,可以調(diào)整其處理能力。

如果輔以Hadoop等大數(shù)據(jù)存儲平臺及Redis緩存,加以使用zookeeper構(gòu)成的分布式鎖,已經(jīng)基本可以構(gòu)建一套即時的可擴展的大數(shù)據(jù)處理平臺。

組件圖

多top的初始化

下面是一個基于storm的多拓?fù)涑跏蓟念愐晥D:

關(guān)鍵點與思考緩存策略

因為是即時的數(shù)據(jù)處理平臺,其存在對效率的要求,而數(shù)據(jù)庫存儲的訪問通常稱為瓶頸,因此在此設(shè)計了緩存,選型Redis是引起使用已經(jīng)較為廣泛和穩(wěn)定,業(yè)界也存在較為成熟的緩存構(gòu)建策略。

分布式鎖

分布式鎖至關(guān)重要,尤其是如果storm集群中存在多個topo的情況下,非常可能存在對關(guān)鍵資源的爭奪。

使用zookeeper構(gòu)建分布式鎖已經(jīng)存在較為成為的應(yīng)用,但使用zookeeper構(gòu)建的分布式鎖必定也存在健壯性不足和鎖的效率問題,需要在設(shè)計時加以考慮。

Hadoop和Oracle的協(xié)作

從使用成本和使用場景上,這兩個組件就存在很大不同。

在應(yīng)用時,Hadoop可以用以存儲非結(jié)構(gòu)化的數(shù)據(jù),例如原始結(jié)果。由于Oracle在存儲結(jié)構(gòu)化數(shù)、可靠性以及易用性上的巨大優(yōu)勢,可以選擇將最終處理結(jié)果存放于Oracle之中,利于維護和展示。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 茶陵县| 阳新县| 广饶县| 平凉市| 竹溪县| 桃园市| 饶阳县| 台州市| 成武县| 神池县| 肃南| 安多县| 巫山县| 潜山县| 哈巴河县| 红河县| 新龙县| 石楼县| 金沙县| 司法| 呼玛县| 博兴县| 焉耆| 临潭县| 城步| 肇州县| 台山市| 桓仁| 乾安县| 新河县| 洪泽县| 海兴县| 丁青县| 宝丰县| 武宣县| 广德县| 昌乐县| 筠连县| 内江市| 丰原市| 晋州市|