近日,在 ApacheCon 2019 上,騰訊開源管理委員會(huì)委員、騰訊開源聯(lián)盟主席、Apache 軟件基金會(huì) Member 堵俊平介紹了騰訊開源路線圖,宣布騰訊萬億級(jí)分布式消息中間件 TubeMQ 正式對(duì)外開源,并計(jì)劃捐贈(zèng)給 Apache 基金會(huì)。


▲ 騰訊開源路線圖
TubeMQ 的原型是騰訊數(shù)據(jù)平臺(tái)部在2013年自研的分布式消息中間件系統(tǒng)(MQ),專注于大數(shù)據(jù)場景下海量數(shù)據(jù)的高性能存儲(chǔ)和傳輸,長期服務(wù)微信支付、騰訊視頻、廣點(diǎn)通等產(chǎn)品。

▲ TubeMQ 項(xiàng)目介紹
TubeMQ 主要特性:
純 Java 語言實(shí)現(xiàn)
引入 Master 協(xié)調(diào)節(jié)點(diǎn):相比 Kafka 依賴于 Zookeeper 完成元數(shù)據(jù)的管理和實(shí)現(xiàn) HA 保障不同,TubeMQ 系統(tǒng)采用的是自管理的元數(shù)據(jù)仲裁機(jī)制方式進(jìn)行,Master 節(jié)點(diǎn)通過采用內(nèi)嵌數(shù)據(jù)庫 BDB 完成集群內(nèi)元數(shù)據(jù)的存儲(chǔ)、更新以及 HA 熱切功能,負(fù)責(zé) TubeMQ 集群的運(yùn)行管控和配置管理操作,對(duì)外提供接口等;通過 Master 節(jié)點(diǎn),TubeMQ 集群里的 Broker 配置設(shè)置、變更及查詢實(shí)現(xiàn)了完整的自動(dòng)化閉環(huán)管理,減輕了系統(tǒng)維護(hù)的復(fù)雜度
服務(wù)器側(cè)消費(fèi)負(fù)載均衡:TubeMQ 采用的是服務(wù)側(cè)負(fù)載均衡的方案,而不是客戶端側(cè)操作,提升系統(tǒng)的管控能力同時(shí)簡化客戶端實(shí)現(xiàn),更便于均衡算法升級(jí)
系統(tǒng)行級(jí)鎖操作:對(duì)于 Broker 消息讀寫中存在中間狀態(tài)的并發(fā)操作采用行級(jí)鎖,避免重復(fù)問題
Offset 管理調(diào)整:Offset 由各個(gè) Broker 獨(dú)自管理,ZK 只作數(shù)據(jù)持久化存儲(chǔ)用(最初考慮完全去掉ZK依賴,考慮到后續(xù)的功能擴(kuò)展就暫時(shí)保留)
消息讀取機(jī)制的改進(jìn):TubeMQ 采用的是消息隨機(jī)讀取模式,同時(shí)為了降低消息時(shí)延又增加了內(nèi)存緩存讀寫,對(duì)于帶 SSD 設(shè)備的機(jī)器,增加消息滯后轉(zhuǎn) SSD 消費(fèi)的處理,解決消費(fèi)嚴(yán)重滯后時(shí)吞吐量下降以及 SSD 磁盤容量小、刷盤次數(shù)有限的問題,使其滿足業(yè)務(wù)快速生產(chǎn)消費(fèi)的需求
消費(fèi)者行為管控:支持通過策略實(shí)時(shí)動(dòng)態(tài)地控制系統(tǒng)接入的消費(fèi)者行為,包括系統(tǒng)負(fù)載高時(shí)對(duì)特定業(yè)務(wù)的限流、暫停消費(fèi),動(dòng)態(tài)調(diào)整數(shù)據(jù)拉取的頻率等;
服務(wù)分級(jí)管控:針對(duì)系統(tǒng)運(yùn)維、業(yè)務(wù)特點(diǎn)、機(jī)器負(fù)載狀態(tài)的不同需求,系統(tǒng)支持運(yùn)維通過策略來動(dòng)態(tài)控制不同消費(fèi)者的消費(fèi)行為,比如是否有權(quán)限消費(fèi)、消費(fèi)時(shí)延分級(jí)保證、消費(fèi)限流控制,以及數(shù)據(jù)拉取頻率控制等
系統(tǒng)安全管控:根據(jù)業(yè)務(wù)不同的數(shù)據(jù)服務(wù)需要,以及系統(tǒng)運(yùn)維安全的考慮,TubeMQ 系統(tǒng)增加了 TLS 傳輸層加密管道,生產(chǎn)和消費(fèi)服務(wù)的認(rèn)證、授權(quán),以及針對(duì)分布式訪問控制的訪問令牌管理,滿足業(yè)務(wù)和系統(tǒng)運(yùn)維在系統(tǒng)安全方面的需求
資源利用率提升改進(jìn):相比于 Kafka,TubeMQ 采用連接復(fù)用模式,減少連接資源消耗;通過邏輯分區(qū)構(gòu)造,減少系統(tǒng)對(duì)文件句柄數(shù)的占用,通過服務(wù)器端過濾模式,減少網(wǎng)絡(luò)帶寬資源使用率;通過剝離對(duì) Zookeeper 的使用,減少 Zookeeper 的強(qiáng)依賴及瓶頸限制
客戶端改進(jìn):基于業(yè)務(wù)使用上的便利性以,我們簡化了客戶端邏輯,使其做到最小的功能集合,我們采用基于響應(yīng)消息的接收質(zhì)量統(tǒng)計(jì)算法來自動(dòng)剔出壞的 Broker 節(jié)點(diǎn),基于首次使用時(shí)作連接嘗試來避免大數(shù)據(jù)量發(fā)送時(shí)發(fā)送受阻
堵俊平介紹,騰訊每天要處理規(guī)模驚人的數(shù)據(jù)。為支持海量業(yè)務(wù),騰訊組建了包含存儲(chǔ)層、數(shù)據(jù)管理層及分析層 3 層結(jié)構(gòu)的數(shù)據(jù)湖協(xié)同方案,向下管理多種數(shù)據(jù)引擎,向上支撐多種數(shù)據(jù)應(yīng)用需求。TubeMQ 就是來源于騰訊數(shù)據(jù)湖存儲(chǔ)層的消息中間件系統(tǒng),支撐著海量數(shù)據(jù)的流入和運(yùn)轉(zhuǎn)。經(jīng)過近7年、萬億規(guī)模的海量數(shù)據(jù)沉淀,TubeMQ 目前日均接入量超過 25 萬億條消息。

▲ 騰訊數(shù)據(jù)湖方案,其絕大多數(shù)組件由 Apache 的開源項(xiàng)目組成
堵俊平介紹到,騰訊計(jì)劃將 TubeMQ 捐贈(zèng)給 Apache 基金會(huì),目前已經(jīng)啟動(dòng)了相關(guān)的孵化流程。
特別提醒:本網(wǎng)內(nèi)容轉(zhuǎn)載自其他媒體,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實(shí),對(duì)本文以及其中全部或者部分內(nèi)容、文字的真實(shí)性、完整性、及時(shí)性本站不作任何保證或承諾,并請(qǐng)自行核實(shí)相關(guān)內(nèi)容。本站不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。如若本網(wǎng)有任何內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系我們,本站將會(huì)在24小時(shí)內(nèi)處理完畢。
相關(guān)推薦
- 華納云618大促,166元買8H16G5M香港cn2云服務(wù)器,大帶寬服務(wù)器688起
- 域名過期多久后才可以重新注冊(cè)?RAKsmart域名攻略
- RAKsmart防護(hù)配置實(shí)戰(zhàn):10Gbps套餐部署指南
- 什么是遞歸解析服務(wù)器?與其他DNS服務(wù)器有啥區(qū)別
- 什么是遞歸解析服務(wù)器?與其他DNS服務(wù)器有啥區(qū)別
- 如何利用RAKsmart服務(wù)器實(shí)現(xiàn)高效多站點(diǎn)部署方案
- 華納云香港高防服務(wù)器150G防御4.6折促銷,低至6888元/月,CN2大帶寬直連清洗,終身循環(huán)折扣
- RakSmart服務(wù)器成本優(yōu)化策略