在當(dāng)今數(shù)據(jù)驅(qū)動的時(shí)代,高效、可靠的數(shù)據(jù)處理服務(wù)已成為企業(yè)運(yùn)營和決策的基石。金山云作為領(lǐng)先的云計(jì)算服務(wù)提供商,其日志服務(wù)每日需要處理高達(dá) 200TB 的海量數(shù)據(jù)。面對如此巨大的數(shù)據(jù)吞吐量、嚴(yán)格的實(shí)時(shí)性要求以及復(fù)雜的業(yè)務(wù)場景,金山云選擇了 Apache Pulsar 作為其底層消息與流處理平臺的核心組件,成功構(gòu)建了高性能、高可用的日志數(shù)據(jù)處理服務(wù)。
一、 挑戰(zhàn):海量日志數(shù)據(jù)的實(shí)時(shí)處理
金山云日志服務(wù)需要匯聚來自其遍布全球的基礎(chǔ)設(shè)施、云產(chǎn)品以及客戶應(yīng)用的各類日志數(shù)據(jù)。這些數(shù)據(jù)不僅體量龐大(日增量200TB),而且具有以下特點(diǎn):
- 高吞吐與低延遲:需要實(shí)時(shí)采集、傳輸和處理日志,以支持監(jiān)控告警、實(shí)時(shí)分析和問題排查。
- 數(shù)據(jù)多樣性:日志格式多樣,來源異構(gòu),需要靈活的數(shù)據(jù)路由和分發(fā)能力。
- 彈性伸縮:業(yè)務(wù)流量存在高峰和低谷,系統(tǒng)需要能夠快速彈性伸縮以應(yīng)對流量波動,同時(shí)保持成本效益。
- 高可靠與持久化:日志數(shù)據(jù)價(jià)值高,必須保證數(shù)據(jù)不丟失,并能持久化存儲以供后續(xù)查詢與分析。
二、 解決方案:為何選擇 Apache Pulsar?
在評估了多種消息隊(duì)列和流處理平臺后,金山云技術(shù)團(tuán)隊(duì)認(rèn)為 Apache Pulsar 的架構(gòu)特性完美契合其需求:
- 云原生分層架構(gòu):Pulsar 獨(dú)特的計(jì)算(Broker)與存儲(BookKeeper)分離架構(gòu),使其具備了天然的彈性伸縮能力。計(jì)算層無狀態(tài),可以快速擴(kuò)縮容以應(yīng)對流量高峰;存儲層獨(dú)立、持久且強(qiáng)一致,確保了數(shù)據(jù)的可靠性。這正好滿足了日志服務(wù)對彈性和可靠性的雙重要求。
- 極高的吞吐量與低延遲:Pulsar 在設(shè)計(jì)之初就以高性能為目標(biāo)。其高效的流水線式數(shù)據(jù)處理、零拷貝機(jī)制以及對持久化消息的低延遲訪問,能夠輕松應(yīng)對每日200TB數(shù)據(jù)的實(shí)時(shí)流入與處理,為下游的實(shí)時(shí)分析應(yīng)用提供穩(wěn)定、快速的數(shù)據(jù)流。
- 統(tǒng)一的消息與流處理模型:Pulsar 將傳統(tǒng)的隊(duì)列(Queue)模型和流(Stream)模型統(tǒng)一在一個(gè)系統(tǒng)中。對于日志服務(wù)而言,這意味著:
- 靈活的數(shù)據(jù)消費(fèi):既可以支持“發(fā)布-訂閱”模式進(jìn)行日志的廣播分發(fā)(如同時(shí)送往實(shí)時(shí)監(jiān)控、數(shù)據(jù)倉庫和歸檔存儲),也可以支持“故障轉(zhuǎn)移”模式實(shí)現(xiàn)消費(fèi)者組的負(fù)載均衡。
- 內(nèi)置的流式處理:通過 Pulsar Functions 輕量級計(jì)算框架,可以在數(shù)據(jù)流中直接進(jìn)行簡單的過濾、清洗、轉(zhuǎn)換和路由,簡化了數(shù)據(jù)處理流水線的復(fù)雜度。
- 多租戶與命名空間隔離:Pulsar 原生支持多租戶,可以為金山云內(nèi)部不同團(tuán)隊(duì)或外部客戶提供邏輯上完全隔離的日志主題(Topic)和資源配額管理,保障了服務(wù)的安全性與穩(wěn)定性。
- 強(qiáng)大的地理復(fù)制:對于金山云這樣的全球化服務(wù)商,Pulsar 內(nèi)置的跨地域數(shù)據(jù)復(fù)制功能至關(guān)重要。它可以輕松實(shí)現(xiàn)日志數(shù)據(jù)在不同地域數(shù)據(jù)中心之間的同步,既支持災(zāi)備,也便于進(jìn)行全球化的統(tǒng)一數(shù)據(jù)分析。
三、 實(shí)踐架構(gòu)與收益
金山云基于 Apache Pulsar 構(gòu)建的日志數(shù)據(jù)處理流水線大致如下:
- 數(shù)據(jù)采集:各類客戶端(如Filebeat、Fluentd)或SDK將日志推送到指定的 Pulsar Topic。
- 實(shí)時(shí)傳輸與緩沖:Pulsar 集群作為高吞吐、持久化的消息總線,承接所有日志數(shù)據(jù),起到解耦、緩沖和保證數(shù)據(jù)不丟失的核心作用。
- 實(shí)時(shí)處理:通過 Pulsar Functions 或連接 Flink/Spark 等流處理引擎,對日志流進(jìn)行實(shí)時(shí)清洗、聚合、異常檢測,并輸出到監(jiān)控告警系統(tǒng)。
- 分發(fā)與下沉:日志數(shù)據(jù)可以通過 Pulsar 的多種訂閱模式,被分發(fā)給不同的消費(fèi)者,例如批量導(dǎo)入到數(shù)據(jù)湖(如 Iceberg/Hudi)或數(shù)據(jù)倉庫(如 ClickHouse)進(jìn)行離線分析,或歸檔到對象存儲(如 S3)進(jìn)行長期保存。
實(shí)施收益:
性能飛躍:成功支撐了日處理200TB數(shù)據(jù)的穩(wěn)定運(yùn)行,峰值吞吐量顯著提升,端到端延遲降低至毫秒級。
運(yùn)維簡化:分層架構(gòu)使運(yùn)維更靈活,存儲與計(jì)算可以獨(dú)立優(yōu)化和擴(kuò)展,系統(tǒng)整體穩(wěn)定性大幅提高。
成本優(yōu)化:高效的資源利用率和彈性伸縮能力,幫助金山云在應(yīng)對業(yè)務(wù)高峰的有效控制了基礎(chǔ)設(shè)施成本。
生態(tài)整合:Pulsar 豐富的連接器生態(tài)(Pulsar IO)便于與上下游各類系統(tǒng)(如 Kafka、各類數(shù)據(jù)庫、云存儲)集成,加速了數(shù)據(jù)價(jià)值的流轉(zhuǎn)。
四、 結(jié)論
金山云日志服務(wù)的成功實(shí)踐,是 Apache Pulsar 作為新一代云原生消息流平臺處理超大規(guī)模數(shù)據(jù)場景的典型案例。它證明了 Pulsar 在高吞吐、低延遲、強(qiáng)一致性、彈性伸縮和統(tǒng)一模型方面的綜合優(yōu)勢,能夠勝任企業(yè)級關(guān)鍵數(shù)據(jù)管道的重任。對于任何面臨海量實(shí)時(shí)數(shù)據(jù)處理挑戰(zhàn)的企業(yè)而言,Apache Pulsar 都是一個(gè)值得深入研究和采用的強(qiáng)大技術(shù)選項(xiàng),能夠?yàn)閿?shù)據(jù)驅(qū)動的業(yè)務(wù)提供堅(jiān)實(shí)、靈活且面向未來的基礎(chǔ)設(shè)施支持。
如若轉(zhuǎn)載,請注明出處:http://www.npsyxx.com/product/71.html
更新時(shí)間:2026-03-09 16:06:43