昨天,咱們將分佈式消息中間件RocketMQ捐贈給了開源軟件基金會Apache。數據庫
孵化成功後,RocketMQ或將成爲國內首個互聯網中間件在Apache上的頂級項目。安全
消息一出,本覺得羣衆的反應是這樣的:框架
然而事實上,羣衆的反應是這樣的:運維
今天,特別邀請到阿里巴巴中間件(Aliware)技術研究員蔣江偉(花名:小邪)跟你們分享一下RocketMQ開源的前世此生。異步
Q:可否簡單介紹下RocketMQ的歷史分佈式
A:早在2007年,阿里巴巴中間件團隊就自主研發了Notify消息中間件,大範圍應用於生產系統。爲知足線上應用海量堆積的需求。2011年阿里巴巴中間件團隊自主研發了RocketMQ消息中間件,具備單機億級消息堆積能力,且能支持嚴格的消息順序。截止今年,阿里巴巴線上全部消息所有經過RocketMQ來轉發投遞,2016年雙十一當天更是達到萬億級消息量,峯值TPS幾千萬,創造了國內乃至世界上最大的消息流轉記錄。性能
Q:RocketMQ有哪些特性呢?阿里雲
A:RocketMQ是一個低延遲,高可靠的分佈式消息中間件。它被設計爲採用長輪詢拉的模式,支持傳統消息領域的點對點和發佈訂閱模型,單主題下支持千萬級別的消息堆積,對於離線計算具備很好的削峯填谷做用。對於企業級應用,它能很好的起到異步解耦的做用。做爲數據通道,RocketMQ在事務數據複製(全局有序),實時計算方面也具有高效的吞吐,在今年雙十一阿里巴巴數據應用場景裏,RocketMQ端到端的平均延遲落在了100ms之內。設計
Q:據說RocketMQ還有個商用版本?可否簡單介紹下?orm
A:RocketMQ的商業版本是阿里雲的消息隊列MQ(點擊閱讀原文可直達Aliware介紹頁面),兩個產品都是由阿里中間件消息團隊出品。商業版MQ在支持TCP接入基礎上,還支持HTTP和物聯網MQTT協議接入,功能方面加強了運維管控方面的能力,包括可視化的消息軌跡、資源報表統計以及監控報警等;商業版MQ公有云上自己具有多機房部署同城高可用容災特性,保證企業級高可靠高性能的同時,大大下降了企業客戶運維成本。
Q:同時擁有商用版和開源版,中間件團隊將如何維護呢?
A:開源和商業的協同效應,如何發揮到極致?這是一個世界性難題。以開源爲核,商業爲輔的形式,是咱們目前得出的一個比較靠譜的可行之路。換句話說,咱們會開源分佈式消息全部核心的特性,而在商業層面,尤爲是雲平臺的搭建上面,將運維管控,安全受權,深度培訓等歸入商業重中之重。按照社區,尤爲是Apache開源社區的運營理念,在社區建設,文檔編纂,研討交流,人才引進等方面加大投入。
Q:阿里爲何要作開源?
A:在阿里創建之初,正是基於開源軟件,將整個電商平臺的原型快速搭建起來的。不只如此,即使這麼多年過去了,雖然阿里的基礎平臺還在不斷演進,但仍舊有開源軟件的身影。咱們感恩社區,也但願將這些久經線上驗證的臻品拿出來,分享出來,回饋社區,讓更多的人收益。咱們但願更多的人可以參與進來,在這樣一個開放透明,全球協做的環境下,相信阿里巴巴在開源領域會取得更多的成績。
Q:還有什麼想對你們說的?
A:阿里巴巴將RocketMQ捐贈給Apache只是第一步。如何將RocketMQ打形成爲Apache Top Level Project,如何開源與商業化產品雙贏,咱們很是須要有志之士加入,歡迎發送簡歷到shijia.wxr@taobao.com
阿里巴巴積極擁抱開源事業
除了這次捐贈的RocketMQ外,其實阿里巴巴集團一直積極擁抱開源事業,不管是開源軟件的應用、回饋以致自研技術的開源都很是活躍。
目前維護的熱門開源項目超過 115 個。
捐贈的開源項目 JStorm 成爲 ApacheStorm 裏的子項目。
RocketMQ 已經被1000多家公司使用。
Tengine 如今是九大最流行的 WebServer 之一。
不久以前,還開源了AliSQL、跨平臺開發框架 Weex。
阿里巴巴是 FSF、Apache、Linux 等基金會成員, Xen 顧問委員會成員。
阿里雲仍是MySQL開源分支 WebScaleSQL 的第五位發起成員。該分支是由 Facebook、 Google、LinkedIn 和 Twitter 四家互聯網公司的數據庫團隊發起的以適應互聯網場景爲目標的MySQL分支。