在當(dāng)今大數(shù)據(jù)時(shí)代,企業(yè)對(duì)實(shí)時(shí)數(shù)據(jù)處理的規(guī)模、速度和可靠性的要求日益嚴(yán)苛。金山云,作為國(guó)內(nèi)領(lǐng)先的云計(jì)算服務(wù)提供商,其平臺(tái)每日需要處理的數(shù)據(jù)量已達(dá)TB級(jí)別,涵蓋海量的日志記錄、應(yīng)用指標(biāo)和用戶行為數(shù)據(jù)。面對(duì)如此巨大的數(shù)據(jù)洪流,傳統(tǒng)的消息隊(duì)列和流處理平臺(tái)在吞吐量、延遲、可擴(kuò)展性及運(yùn)維復(fù)雜度等方面逐漸顯現(xiàn)出瓶頸。為了構(gòu)建一個(gè)更強(qiáng)大、更高效的日志服務(wù)與實(shí)時(shí)數(shù)據(jù)處理服務(wù),金山云經(jīng)過深入的技術(shù)選型與評(píng)估,最終選擇了Apache Pulsar作為其核心基礎(chǔ)設(shè)施。
一、 挑戰(zhàn):TB級(jí)數(shù)據(jù)洪流下的核心訴求
金山云原有的數(shù)據(jù)處理架構(gòu)在處理日均TB級(jí)數(shù)據(jù)時(shí),主要面臨以下幾個(gè)關(guān)鍵挑戰(zhàn):
- 海量吞吐與低延遲的平衡:日志類數(shù)據(jù)爆發(fā)性強(qiáng),需要消息中間件能穩(wěn)定支撐極高的寫入吞吐(百萬級(jí)QPS),同時(shí)保證端到端的毫秒級(jí)低延遲,以滿足實(shí)時(shí)監(jiān)控、報(bào)警和數(shù)據(jù)分析的需求。
- 無限的彈性擴(kuò)展:業(yè)務(wù)增長(zhǎng)不可預(yù)測(cè),數(shù)據(jù)量可能瞬間激增。系統(tǒng)需要具備無中斷的水平擴(kuò)展能力,能夠輕松應(yīng)對(duì)流量峰值,而無需復(fù)雜的重新分區(qū)或數(shù)據(jù)遷移。
- 數(shù)據(jù)的持久化與可靠性:日志和事務(wù)數(shù)據(jù)是企業(yè)的核心資產(chǎn),必須保證數(shù)據(jù)不丟失、不重復(fù),并支持長(zhǎng)期保留,以供后續(xù)審計(jì)、回溯分析和合規(guī)性檢查。
- 云原生與多租戶支持:作為公有云服務(wù)商,需要為成千上萬的客戶提供隔離、安全、可獨(dú)立計(jì)費(fèi)的服務(wù)實(shí)例,對(duì)資源隔離和租戶管理有天然要求。
- 統(tǒng)一的架構(gòu)簡(jiǎn)化運(yùn)維:希望用一個(gè)統(tǒng)一的平臺(tái)同時(shí)替代傳統(tǒng)的消息隊(duì)列、日志總線和實(shí)時(shí)流處理中間件,降低技術(shù)棧的復(fù)雜性和運(yùn)維成本。
二、 為何選擇Apache Pulsar?
在對(duì)比了Kafka、RocketMQ等主流技術(shù)后,Apache Pulsar憑借其獨(dú)特的架構(gòu)設(shè)計(jì),完美契合了金山云的上述需求。
- 分層架構(gòu)(計(jì)算與存儲(chǔ)分離):Pulsar采用計(jì)算(Broker)與存儲(chǔ)(BookKeeper)分離的架構(gòu)。Broker節(jié)點(diǎn)無狀態(tài),負(fù)責(zé)消息的收發(fā)和協(xié)議處理;BookKeeper節(jié)點(diǎn)專門負(fù)責(zé)數(shù)據(jù)的持久化存儲(chǔ)。這種架構(gòu)帶來了革命性的優(yōu)勢(shì):
- 無縫彈性伸縮:擴(kuò)容Broker僅需分鐘級(jí)別,對(duì)業(yè)務(wù)無感知;存儲(chǔ)層亦可獨(dú)立擴(kuò)展,容量近乎無限。
- 高可用與強(qiáng)一致性:數(shù)據(jù)在BookKeeper中被多副本同步持久化,即使Broker宕機(jī),數(shù)據(jù)安全無虞,新Broker可立即接管服務(wù)。
- 簡(jiǎn)化故障恢復(fù):無狀態(tài)Broker的故障恢復(fù)極快,無需復(fù)雜的數(shù)據(jù)再平衡。
- 極致的吞吐與低延遲:Pulsar支持分層存儲(chǔ)(Tiered Storage),可將歷史冷數(shù)據(jù)自動(dòng)卸載到更廉價(jià)的存儲(chǔ)系統(tǒng)(如S3、HDFS),而將熱數(shù)據(jù)保留在高速存儲(chǔ)(如SSD)中。這一特性使得金山云能夠以低成本長(zhǎng)期保留TB級(jí)歷史數(shù)據(jù),同時(shí)保證熱點(diǎn)數(shù)據(jù)的訪問性能。其高效的流水線處理和零拷貝機(jī)制,確保了在高吞吐場(chǎng)景下依然保持穩(wěn)定的低延遲。
- 原生的多租戶與隔離:Pulsar在架構(gòu)層面原生支持多租戶。通過
租戶(Tenant)->命名空間(Namespace)->主題(Topic)的三層資源模型,金山云可以為不同客戶或業(yè)務(wù)線提供邏輯上完全隔離的資源池,并實(shí)施精細(xì)化的配額管理、認(rèn)證和授權(quán)策略,完美滿足云服務(wù)的需求。
- 流與隊(duì)列的統(tǒng)一模型:Pulsar獨(dú)創(chuàng)的“發(fā)布-訂閱”與“消息隊(duì)列”統(tǒng)一模型(通過獨(dú)占、故障轉(zhuǎn)移、共享和鍵共享四種訂閱模式實(shí)現(xiàn)),讓金山云可以用同一套集群同時(shí)支撐日志流式分發(fā)(類似Kafka場(chǎng)景)和傳統(tǒng)任務(wù)隊(duì)列(類似RabbitMQ場(chǎng)景),極大地簡(jiǎn)化了技術(shù)架構(gòu)。
- 強(qiáng)大的生態(tài)系統(tǒng)與云原生友好:Pulsar原生支持Pulsar Functions(輕量級(jí)流處理)、與Flink/Spark的深度集成,并提供了完善的Kafka API兼容層,方便用戶遷移。其基于云的架構(gòu)設(shè)計(jì)與Kubernetes等容器編排平臺(tái)結(jié)合良好,便于實(shí)現(xiàn)自動(dòng)化部署和運(yùn)維。
三、 Pulsar在金山云的實(shí)踐與收益
金山云將Pulsar深度集成到其日志服務(wù)(KLS)和實(shí)時(shí)數(shù)據(jù)處理管道中:
- 作為高吞吐日志攝取總線:所有服務(wù)器、容器和應(yīng)用日志通過輕量級(jí)采集器發(fā)送至Pulsar集群。Pulsar以極高的吞吐量接收并持久化這些數(shù)據(jù)。
- 支撐實(shí)時(shí)流處理:下游的實(shí)時(shí)計(jì)算引擎(如Flink)直接消費(fèi)Pulsar中的日志流,進(jìn)行實(shí)時(shí)聚合分析、異常檢測(cè)和指標(biāo)計(jì)算,結(jié)果實(shí)時(shí)寫入數(shù)據(jù)庫(kù)或推送至儀表盤。
- 實(shí)現(xiàn)歷史數(shù)據(jù)湖歸檔:通過配置分層存儲(chǔ),超過一定時(shí)間的日志數(shù)據(jù)自動(dòng)、透明地遷移到對(duì)象存儲(chǔ)中,形成數(shù)據(jù)湖,供離線分析、機(jī)器學(xué)習(xí)訓(xùn)練和數(shù)據(jù)挖掘使用,成本大幅降低。
- 服務(wù)內(nèi)部微服務(wù)通信:利用Pulsar的隊(duì)列訂閱模式,支撐內(nèi)部服務(wù)間的異步解耦通信,實(shí)現(xiàn)了技術(shù)棧的統(tǒng)一。
取得的顯著收益包括:
- 性能與成本優(yōu)化:在日均TB級(jí)數(shù)據(jù)壓力下,系統(tǒng)保持穩(wěn)定,峰值吞吐能力提升數(shù)倍,同時(shí)存儲(chǔ)成本因分層存儲(chǔ)下降顯著。
- 運(yùn)維效率提升:計(jì)算存儲(chǔ)分離架構(gòu)使得擴(kuò)縮容操作變得簡(jiǎn)單快捷,運(yùn)維復(fù)雜度降低,系統(tǒng)整體可用性達(dá)到99.95%以上。
- 業(yè)務(wù)敏捷性增強(qiáng):統(tǒng)一的平臺(tái)加速了新業(yè)務(wù)(如新的日志分析產(chǎn)品、實(shí)時(shí)風(fēng)控系統(tǒng))的上線速度,滿足了客戶多樣化的實(shí)時(shí)數(shù)據(jù)處理需求。
- 未來可擴(kuò)展性:Pulsar的架構(gòu)為未來向更大數(shù)據(jù)規(guī)模、更復(fù)雜處理場(chǎng)景(如全局事件驅(qū)動(dòng)架構(gòu))演進(jìn)奠定了堅(jiān)實(shí)基礎(chǔ)。
###
金山云選擇Apache Pulsar,不僅僅是對(duì)一項(xiàng)新技術(shù)的采納,更是應(yīng)對(duì)數(shù)據(jù)規(guī)模與復(fù)雜度爆炸式增長(zhǎng)的必然戰(zhàn)略選擇。Pulsar以其云原生、分層、統(tǒng)一的設(shè)計(jì)哲學(xué),成功幫助金山云構(gòu)建了一個(gè)面向未來、具備極致彈性、超高可靠性和成本效益的下一代日志與數(shù)據(jù)處理服務(wù)平臺(tái)。這一實(shí)踐也為業(yè)界處理超大規(guī)模實(shí)時(shí)數(shù)據(jù)流提供了極具價(jià)值的參考范式,證明了Pulsar在企業(yè)級(jí)核心數(shù)據(jù)管道中擔(dān)當(dāng)重任的能力。