博睿數據-企業應用性能管理服務商,賦能IT運營智能化
福建36选7
大數據

Bonree Ants流式大數據處理引擎

讓企業大數據處理更簡單

立即體驗

Ants(蟻群)名稱源于其寓意:高效協作、小而有力、合縱連橫,我們認為其可以詮釋這套超級引擎框架的初衷:輕便靈活、場景通用、穩定高效。

大數據處理引擎框架是一個針對時序指標數據處理的通用流式計算引擎框架。此引擎框架負責范圍包括原始數據預處理、準實時計算(支持默認算子和自定義算子)、多種時間粒度批量計算、數據落地及各種容錯處理,同時支持自定義高級功能自定義擴展機制,默認支持如時序指標動態基線計算、報警條件判斷計算等擴展等。

背景

越來越多的企業認識到大數據對于自身未來發展的重要性,紛紛開始使用并逐漸依賴大數據處理的相關技術。但隨著需要處理的數據越來越多,業務場景越發復雜,在實際執行過程中遇到很多問題,如大數據人才緊缺,相關技術缺乏沉淀,難以突破瓶頸,同時不同業務部門的業務需求紛繁多樣,導致不同項目代碼重復開發、重復造輪子、項目技術架構五花八門的情況也很常見,給后期維護和迭代帶來很大的挑戰。

對于以上的現實問題,博睿數據以10年的大數據項目實踐經驗,抽象和設計出一套靈活輕便、場景通用、穩定高效的超級大數據處理引擎框架—Bonree Ants,以滿足企業復雜多樣的數據處理需求。

核心價值

可以幫助企業便捷快速的實現海量時序指標數據的在線流式處理。我們的目標是,對于常見的時序指標流式處理的業務場景可完全不需要研發人員參與,只需非研發業務人員對數據應用進行簡單配置和業務腳本描述,即可實現其目標;而對于復雜業務場景我們則希望研發人員通過引擎的插件機制,進行少量編碼來實現相關與業務強關聯的邏輯,而將大數據處理中底層復雜的資源調度、任務編排、容錯處理交給引擎負責,快速實現相關大數據處理業務開發,極大降低企業相關開發和維護成本。

通過在博睿數據眾多服務項目的實踐,應用Bonree Ants引擎框架之后,大數據處理開發工作量整體降低了80%,整體項目周期縮短40%以上。

整體架構

Bonree Ants整體架構圖

Bonree Ants引擎框架依賴開源組件運行:ZooKeeper、Kafka、Storm、Redis,依賴少,部署簡單,架構輕便,這也是其核心優勢之一。

BonreeAnts底層計算框架基于Storm,之所以選擇Storm作為底層計算框架,主要考慮到Storm自身的實時性高、資源開銷小,外部依賴少、純內存計算、容錯性好等特性。

Bonree Ants將時序指標大數據處理過程抽象為以下幾個主要流程,即:預處理、準實時計算、小批量計算、大批量計算、落地入庫等。以上流程均由運行于Storm之上的Preprocessing Topology、Calculation Topology、Storage Topology三類拓撲負責完成。

Bonree Ants整個數據處理過程中數據不落地,均在內存中完成。由于需支持大時間粒度批量計算業務場景,Bonree Ants引入Redis作為Storm集群輔助內存存儲集群,以降低大批量計算時對Storm集群內存的開銷,由于采用內存計算的方式,Bonree Ants實時性高,對磁盤I/O幾乎無影響。

Bonree Ants批量計算是基于時間粒度的聚合計算,默認支持1秒、1分鐘、10分鐘、1小時、1天等五個不同時間粒度的聚合。由于各粒度計算之間存在遞進依賴關系,因此為減少計算資源開銷,加速計算過程,Bonree Ants在Redis集群緩存了各粒度中間計算結果,以備下一時間粒度計算直接使用,從而減少數據處理量級。

Bonree Ants對于最終計算結果落地只提供了基本框架支持。由于不負責最終數據存儲,因此也不會對最終數據落地存儲組件有任何限制。Bonree Ants默認內置支持Mysql存儲方案,如采用Mysql作為最終落地數據庫,則建表和結果數據入庫過程均可由Bonree Ants自動完成。如需采用其他落地方案,如HBase等,則由用戶開發Storage-Plugin插件進行自定義支持。

整體架構設計大量采用插件(plugins)和擴展(extensions)機制,其將與業務強關聯的個性化處理,如數據預處理策略抽象為Etl-plugin將數據和維度指標處理的算子(內置支持sum、max、min等基本算子)開放為Operator-plugin,而將處理結果落盤策略抽象為Storage-plugin。

同時,在支持插件技術外,為了豐富Bonree Ants引擎框架功能,還支持extensions擴展機制。用戶可以在現有引擎框架基礎上開發自己需要extension,并以獨立計算拓撲的方式提交給Ants,由于Ants加載運行,從而實現Ants功能的延伸。目前,Bonree Ants默認內置動態基線擴(base-lineextension)和報警條件判斷擴展(alter-judge extension)。

此外,Bonree Ants還支持插件動態更新和Schema.xml動態更新功能,這樣能夠幫助用戶實現不重啟即可更新業務處理邏輯的支持,對用戶復雜多變的業務場景帶來極大的靈活性。

運行機制

Bonree Ants運行機制

數據預處理拓撲(PreProcessing Topology)

此拓撲負責從kafka訂閱原始數據源并調用etl-plugin插件對數據進行預處理(etl-plugin插件由客戶自己來實現),并對將etl后的結果進行準實時聚合處理(計算規則由用戶在schema.xml中描述)。

數據計算拓撲(Calculation Topology)

此拓撲負責對etl之后的數據進行按不同時間粒度的批量聚合(規則由Schema.xml描述)。此過程內部有兩個子計算拓撲:小批量計算(分鐘級),大批量計算(小時級和天級)。計算過程中小粒度的中間計算結果都會緩存到redis集群中,供下一大粒度計算使用。同時,各粒度計算結果會落地到kafka相應的topic,由“數據存儲拓撲”訂閱進行后續存儲操作,從而實現數據計算和落地之間的解耦。

數據存儲拓撲(Storage Topology)

此拓撲負責數據落地入庫,落地數據包括兩種,即時序指標數據(結構化)和快照文件數據(非結構化,如業務中存在此類數據的話)兩種,用戶需根據自身業務需要開發Storage-plugin來實現具體的落盤策略。

除此之外,Bonree Ants默認實現了兩個重要的extension擴展,即基線計算extension和報警條件判斷extension。

創新企業大數據處理方式

引擎框架自身與業務無耦合,數據處理流程高度抽象,通用性強,簡潔開放的架構,較少的組件依賴,開發部署及維護成本低;秒級時延,實時性好,內置批量計算支持;支持extension機制,用戶可自行豐富業務場景功能支持;內置多種容錯策略,保證穩定與數據安全;同時,Bonree Ants提供強大的在線Web Console支持,可支持可視化管理和監控,具體功能包括如下:

APP管理

APP在線創建、Schema在線配置、APP發布上線、下線

基礎環境監控

zookeeper、storm、kafka、redis等基礎集群運行狀態監控

日志監控

APP運行關鍵流程節點狀態日志收集和監控。

Bonree Ants以小而美的理念,以靈活高效的計算方式快速處理企業數字化業務帶來的龐大數據量,是企業提高大數據在線處理能力的智能大腦。

博睿數據-企業應用性能管理服務商,賦能IT運營智能化