歡迎您光臨本站 註冊首頁

騰訊萬億級大數據組件 TubeMQ 正式開源

←手機掃碼閱讀     admin @ 2019-09-18 , reply:0

近日,在 ApacheCon 2019 上,騰訊開源管理委員會委員、騰訊開源聯盟主席、Apache 軟體基金會 Member 堵俊平介紹了騰訊開源路線圖,宣布騰訊萬億級分散式消息中間件 TubeMQ 正式對外開源,並計劃捐贈給 Apache 基金會。

▲ 騰訊開源路線圖

TubeMQ 的原型是騰訊數據平台部在2013年自研的分散式消息中間件系統(MQ),專註於大數據場景下海量數據的高性能存儲和傳輸,長期服務微信支付、騰訊視頻、廣點通等產品。

▲ TubeMQ 項目介紹

TubeMQ 主要特性:

  • 純 Java 語言實現

  • 引入 Master 協調節點:相比 Kafka 依賴於 Zookeeper 完成元數據的管理和實現 HA 保障不同,TubeMQ 系統採用的是自管理的元數據仲裁機制方式進行,Master 節點通過採用內嵌資料庫 BDB 完成集群內元數據的存儲、更新以及 HA 熱切功能,負責 TubeMQ 集群的運行管控和配置管理操作,對外提供介面等;通過 Master 節點,TubeMQ 集群里的 Broker 配置設置、變更及查詢實現了完整的自動化閉環管理,減輕了系統維護的複雜度

  • 伺服器側消費負載均衡:TubeMQ 採用的是服務側負載均衡的方案,而不是客戶端側操作,提升系統的管控能力同時簡化客戶端實現,更便於均衡演算法升級

  • 系統行級鎖操作:對於 Broker 消息讀寫中存在中間狀態的併發操作採用行級鎖,避免重複問題

  • Offset 管理調整:Offset 由各個 Broker 獨自管理,ZK 只作數據持久化存儲用(最初考慮完全去掉ZK依賴,考慮到後續的功能擴展就暫時保留)

  • 消息讀取機制的改進:TubeMQ 採用的是消息隨機讀取模式,同時為了降低消息時延又增加了內存緩存讀寫,對於帶 SSD 設備的機器,增加消息滯後轉 SSD 消費的處理,解決消費嚴重滯后時吞吐量下降以及 SSD 磁碟容量小、刷盤次數有限的問題,使其滿足業務快速生產消費的需求

  • 消費者行為管控:支持通過策略實時動態地控制系統接入的消費者行為,包括系統負載高時對特定業務的限流、暫停消費,動態調整數據拉取的頻率等;

  • 服務分級管控:針對系統運維、業務特點、機器負載狀態的不同需求,系統支持運維通過策略來動態控制不同消費者的消費行為,比如是否有許可權消費、消費時延分級保證、消費限流控制,以及數據拉取頻率控制等

  • 系統安全管控:根據業務不同的數據服務需要,以及系統運維安全的考慮,TubeMQ 系統增加了 TLS 傳輸層加密管道,生產和消費服務的認證、授權,以及針對分散式訪問控制的訪問令牌管理,滿足業務和系統運維在系統安全方面的需求

  • 資源利用率提升改進:相比於 Kafka,TubeMQ 採用連接復用模式,減少連接資源消耗;通過邏輯分區構造,減少系統對文件句柄數的佔用,通過伺服器端過濾模式,減少網路帶寬資源使用率;通過剝離對 Zookeeper 的使用,減少 Zookeeper 的強依賴及瓶頸限制

  • 客戶端改進:基於業務使用上的便利性以,我們簡化了客戶端邏輯,使其做到最小的功能集合,我們採用基於響應消息的接收質量統計演算法來自動剔出壞的 Broker 節點,基於首次使用時作連接嘗試來避免大數據量發送時發送受阻

堵俊平介紹,騰訊每天要處理規模驚人的數據。為支持海量業務,騰訊組建了包含存儲層、數據管理層及分析層 3 層結構的數據湖協同方案,向下管理多種數據引擎,向上支撐多種數據應用需求。TubeMQ 就是來源於騰訊數據湖存儲層的消息中間件系統,支撐著海量數據的流入和運轉。經過近7年、萬億規模的海量數據沉澱,TubeMQ 目前日均接入量超過 25 萬億條消息。

▲ 騰訊數據湖方案,其絕大多數組件由 Apache 的開源項目組成

堵俊平介紹到,騰訊計劃將 TubeMQ 捐贈給 Apache 基金會,目前已經啟動了相關的孵化流程。

查看項目:

https://www.oschina.net/p/tubemq


[admin ]

來源:OsChina
連結:https://www.oschina.net/news/109943/tencent-tubemq-opensourced
騰訊萬億級大數據組件 TubeMQ 正式開源已經有99次圍觀

http://coctec.com/news/all/show-post-214897.html