偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Apache RocketMQ 頂級(jí)項(xiàng)目之路

開發(fā) 開發(fā)工具
2016年11月,阿里將RocketMQ捐獻(xiàn)給Apache軟件基金會(huì),正式成為孵化項(xiàng)目。至此,RocketMQ 開啟了邁向全球頂級(jí)開源軟件的新征程。通過社區(qū)半年多的努力。9 月 25 日,Apache 軟件基金會(huì)官方宣布,阿里巴巴捐贈(zèng)給 Apache 社區(qū)的開源項(xiàng)目 RocketMQ 從 Apache 社區(qū)正式畢業(yè),成為 Apache 頂級(jí)項(xiàng)目(TLP)。

 序言

2016年11月,阿里將RocketMQ捐獻(xiàn)給Apache軟件基金會(huì),正式成為孵化項(xiàng)目。至此,RocketMQ 開啟了邁向全球頂級(jí)開源軟件的新征程。通過社區(qū)半年多的努力。9 月 25 日,Apache 軟件基金會(huì)官方宣布,阿里巴巴捐贈(zèng)給 Apache 社區(qū)的開源項(xiàng)目 RocketMQ 從 Apache 社區(qū)正式畢業(yè),成為 Apache 頂級(jí)項(xiàng)目(TLP)。

在通向Apache頂級(jí)項(xiàng)目的這些時(shí)間里,團(tuán)隊(duì)走了很多路,也經(jīng)歷了很多事。

  • 第一次按照Apache Way走通Apache軟件發(fā)布流程,完成了在整個(gè)IPMC都極為罕見的Rc3發(fā)布?jí)雅e,體現(xiàn)了中國團(tuán)隊(duì)的嚴(yán)謹(jǐn)、高效,贏得了社區(qū)的贊譽(yù)。
  • 第一次吸納外籍Committer - 日本博士Roman。2個(gè)月時(shí)間里,他提交近20個(gè)Pull Request,推動(dòng)RocketMQ跟Apache其它頂級(jí)社區(qū)項(xiàng)目合作,對(duì)社區(qū)起步做出了卓越貢獻(xiàn)。
  • 第一次面向社區(qū)舉辦編程馬拉松。PMC成員全程跟進(jìn),幫助參賽選手評(píng)審設(shè)計(jì)、Review代碼。
  • 第一次吸納PMC成員。在RocketMQ社區(qū),PMC是對(duì)Committer持續(xù)貢獻(xiàn)的進(jìn)一步Merit。
  • 第一次向Apache社區(qū)昭告OpenMessaging標(biāo)準(zhǔn)的愿景。緊接著, ASF Director Jim毛遂自薦,加入到RocketMQ超強(qiáng)豪華的全球Mentor陣營中。
  • 第一次面向國內(nèi)社區(qū)舉辦了大型MeetUp。全球圖文現(xiàn)場直播,5場純技術(shù)Messaging & Streaming干貨分享,傳達(dá)了團(tuán)隊(duì)誓將做好社區(qū),搞好生態(tài)的決心。
  • 第一次......

人生就是一場跋涉,走久了,才知心酸,才知艱難,才有堅(jiān)韌,才有渴望。前方的路,盡管遙遠(yuǎn),盡管顛簸。但腳步依然,追求依然,方向依然。

2017年8月3號(hào),經(jīng)過了半年多的發(fā)展,團(tuán)隊(duì)正式發(fā)起了沖擊TLP的討論。接下來的一個(gè)月時(shí)間里,討論和投票,幾乎成了每天的必修課。終于,搶在Java 9發(fā)布之前,RocketMQ 正式通過董事會(huì)決議,結(jié)束了在Apache上的孵化,正式成為Apache 340多個(gè)頂級(jí)項(xiàng)目中的一員。這一刻,完全出自中國團(tuán)隊(duì),來自阿里巴巴的分布式消息引擎成為全球互聯(lián)網(wǎng)中間件、大數(shù)據(jù)領(lǐng)域璀璨的新星。下一站,等待它的將是在國際舞臺(tái)上與世界頂級(jí)老牌消息中間件的激烈角逐。相信在Apache先進(jìn)的社區(qū)理念指引下,RocketMQ社區(qū)生態(tài)會(huì)繼續(xù)蓬勃發(fā)展,完成我們所賦予它的光榮使命。

接下來,我們從產(chǎn)品、社區(qū)、生態(tài)這三個(gè)維度,分別回顧一下RocketMQ這半年多的Apache孵化歷程。

產(chǎn)品篇章

與Apache大多數(shù)頂級(jí)項(xiàng)目不同,RocketMQ在進(jìn)入Apache之前,Open Source之路已經(jīng)走過了3個(gè)春秋。歷經(jīng)多次雙十一洗禮,在國內(nèi)積累了一定的口碑,社區(qū)也有不錯(cuò)的Active Contributors,但這些還遠(yuǎn)遠(yuǎn)不夠。在正式開啟捐贈(zèng)之前,團(tuán)隊(duì)對(duì)RocketMQ甚至包括社區(qū)做了大量重塑工作。如國際化方面,在Github上利用sidebar特性重新設(shè)計(jì)編排了文檔。如今,User Guide, Quick Start, Architecture & Design, How to contribute, Community, FAQ 這些幾乎成為了團(tuán)隊(duì)新產(chǎn)品標(biāo)配的文檔結(jié)構(gòu)。

代碼層面更是進(jìn)行了比較“激進(jìn)”地優(yōu)化。如去除GBK字符,全面擁抱UTF-8。重寫API JavaDoc。清理代碼,優(yōu)化代碼結(jié)構(gòu)。利用JDepend優(yōu)化組件之間的抽象依賴關(guān)系。利用Findbugs掃描代碼漏洞,指導(dǎo)規(guī)范編碼。交付方面,規(guī)范Release流程,New Features、Improvement and Bug 分類Release note。社區(qū)層面則開啟了全英式互動(dòng),發(fā)布問問題的技巧。

經(jīng)過這些精心的準(zhǔn)備,RocketMQ完成了從3.0到4.0的悄然升級(jí)。而4.0是個(gè)過渡版本(和3.0相比,架構(gòu)層面沒有較大的改變),也是在Apache開啟孵化的版本。通過孵化,團(tuán)隊(duì)重新認(rèn)識(shí)了軟件研發(fā)流程的重要性,尤其是像精細(xì)設(shè)計(jì),代碼Review,編碼規(guī)約,分支模型,發(fā)布規(guī)約等容易被忽略的過程。無以規(guī)矩不成方圓,尤其是當(dāng)你置身于并領(lǐng)導(dǎo)一個(gè)全球協(xié)作的開源項(xiàng)目時(shí),這些都顯得是尤為重要。

編碼規(guī)約

RocketMQ的編碼規(guī)約是比較寬松的,至少在4.0這個(gè)版本上。與其它Apache頂級(jí)項(xiàng)目不同,我們并沒有從編碼細(xì)節(jié)上去做過多約束,如靜態(tài)變量如何使用,日志怎么打,異常怎么捕獲、處理。而主要通過Code Style, Copyright, Code Template 3塊來進(jìn)行一些大方向上的約束。為了防止不遵循規(guī)約的代碼合并倉庫,我們通過PR Checklist, checkstyle和持續(xù)集成來自動(dòng)化校驗(yàn)行為。因?yàn)槲覀兿嘈牛彩怯腥私槿氲牡胤?,就存在check的必要。凡是有人介入的地方,就存在自動(dòng)化的可能。

研發(fā)流程

RocketMQ的開源模式不是傳統(tǒng)意義上的開放內(nèi)核模式,而是和Apache Hadoop和OpenStack這一類開源平臺(tái)模式類似,我們嘗試把開源世界和專有世界最好的結(jié)合起來,在真正意義上的協(xié)作平臺(tái)上生產(chǎn)專有產(chǎn)品。我們希望Redhat,CentOS和Fedora這樣的產(chǎn)品簇協(xié)同發(fā)展效應(yīng)也能體現(xiàn)在RocketMQ未來的演進(jìn)中。為了迎接這樣的挑戰(zhàn),團(tuán)隊(duì)必須從軟件研發(fā)流程方面做出改變,構(gòu)建能夠同時(shí)支撐內(nèi)部、開源社區(qū)以及商業(yè)化的生態(tài)體系。

分支模型

RocketMQ在設(shè)計(jì)之初就曾設(shè)想過未來One Kernel這樣的產(chǎn)品形態(tài)。這些年下來,圍繞著它,團(tuán)隊(duì)打造了AliwareMQ、MetaQ、以及Notify 3.0等內(nèi)部、商業(yè)化產(chǎn)品。隨著RocketMQ進(jìn)入Apache,代碼的演進(jìn)變得愈加復(fù)雜,而傳統(tǒng)的Master分支模型很難滿足開源、商業(yè)化、集團(tuán)內(nèi)部和公有云、私有云共用一個(gè)RocketMQ內(nèi)核這樣的需求。通過不斷的思考與實(shí)踐,我們通過引入鏡像倉庫機(jī)制解決了這一難題。具體講,就是通過在每個(gè)倉庫配置master和develop分支,不同的倉庫直接由鏡像節(jié)點(diǎn)進(jìn)行轉(zhuǎn)換和特性緩沖。這樣下來,在Apache上孵化的特性可以一路合并至內(nèi)部甚至輸出到公有云、私有云,在內(nèi)部孵化的特性也能以PATCH的方式反哺到開源社區(qū)。如下圖所示:

??

??

持續(xù)集成、持續(xù)壓測,持續(xù)交付

借助Travis和Jenkins,我們搭建了兩套基礎(chǔ)設(shè)施。在Github上,Travis會(huì)對(duì)所有commit,所有PR觸發(fā)持續(xù)集成,這是它的一個(gè)強(qiáng)大之處。除此之外,它還支持跨JDK,跨平臺(tái)的Matrix驗(yàn)證(不過很可惜,OSX平臺(tái)似乎一直都有問題)。在內(nèi)部,利用Jenkins 2.0的Pipeline實(shí)現(xiàn)了持續(xù)集成,持續(xù)壓測,持續(xù)交付(Docker,Pandora以及AWS Cloud,Azure Cloud)。如下圖所示:

??

??

由上圖可知,整個(gè)持續(xù)集成分為代碼靜態(tài)檢測,單元測試,集成測試,Sonar質(zhì)量評(píng)測這個(gè)幾個(gè)Stage。對(duì)于單元測試,不僅要覆蓋核心邏輯,而且要快(內(nèi)置3分鐘閾值,超過就報(bào)錯(cuò)和發(fā)郵件)。無數(shù)實(shí)踐告訴我們,如果不夠快,就會(huì)有更多的同學(xué)在本地編譯時(shí)選擇跳過單測,久而久之,單測就慢慢失去了意義,變得愈發(fā)不可維護(hù)。要全,要快,還要可維護(hù)性。這對(duì)單測編寫者來說無疑是個(gè)巨大挑戰(zhàn),這就要求多線程之間的交互盡量避免依賴sleep,自底向下的盡可能Mock依賴,動(dòng)賓狀結(jié)構(gòu)的優(yōu)雅命名,斷言異常而不是拋出異常。

發(fā)布規(guī)約

進(jìn)入Apache后,尤其在孵化階段,學(xué)習(xí)并遵循Apache發(fā)布流程顯得尤為重要。

??

??

上面這幅圖描述的是Apache孵化項(xiàng)目的發(fā)布流程???、穩(wěn),這是RocketMQ團(tuán)隊(duì)第一次發(fā)布傳達(dá)給社區(qū)的信息??v觀所有Apache孵化項(xiàng)目,能夠在這么短的時(shí)間內(nèi),用這么少的次數(shù)(RC3)學(xué)習(xí)并走完發(fā)布,用行動(dòng)證明中國人同樣具備嚴(yán)謹(jǐn)且專業(yè)地做事態(tài)度。當(dāng)然,我們也是幸運(yùn)地,幸運(yùn)地碰到了Justin和Bruce這兩位熱心、專業(yè)的Mentor。這里,需要強(qiáng)調(diào)下Release生成的幾個(gè)重要文件,如下圖:

??

??

源碼(src)和二進(jìn)制文件(bin)被分別打包。asc是一個(gè)簽名文件,committer使用自己的私鑰對(duì)分發(fā)包進(jìn)行簽名,任何人可以用我們對(duì)外公布的512位的公鑰進(jìn)行驗(yàn)證。

另外,還有一個(gè)不得不提的事情。Apache對(duì)License進(jìn)行了嚴(yán)格的分類,比如Apache License 2.0/1.1,BSD,MIT/X11等屬于Category A,這些協(xié)議與Apache License是兼容的,可以放心地引入。對(duì)于Category B中的License,比如EPL 1.0,MPL 1.0/1.1/2.0等能夠以binary的形式引入。對(duì)于Category X中的License如GPL,LGPL則不能引入到產(chǎn)品當(dāng)中。

針對(duì)License的問題,RocketMQ在首次發(fā)布的時(shí)候,在社區(qū)里進(jìn)行了充分討論。如何處雙重License的依賴,如何區(qū)分Source和Binary Release依賴的License問題,如何處理NOTICE。這些知識(shí)被我們“現(xiàn)學(xué)現(xiàn)賣”的用在了指導(dǎo)社區(qū)貢獻(xiàn)上面,既加強(qiáng)了記憶,又很好地傳承給了社區(qū)。

PR & Jira處理

這是一個(gè)RocketMQ way的具體體現(xiàn)。針對(duì)PR,我們?cè)O(shè)計(jì)了一套Checklist,如下圖所示:

??

??

所有PR必須有3+ Committer Review,Committer提交的PR,盡量不要自己Merge。另外,PR的合并是個(gè)費(fèi)時(shí)費(fèi)力的工作,團(tuán)隊(duì)成員通過研究,編寫了一個(gè)自動(dòng)化Python腳本,巧妙地將原先幾分鐘的常態(tài)工作縮減到了幾秒鐘,一定程度上體現(xiàn)了中國工程師“懶中求勝”的匠心精神。而Jira,我們強(qiáng)調(diào)component,每個(gè)component都有2到3位committer or maintainer把持。Jira的處理一般是需要經(jīng)過Resolve階段,最后才是Close,并且詳細(xì)標(biāo)明受影響的版本,在哪個(gè)版本修復(fù)掉。

社區(qū)篇章

在產(chǎn)品篇章里,我們主要從編碼規(guī)約,分支模型,持續(xù)交付,發(fā)布規(guī)約等環(huán)節(jié)回顧了這半年來可喜的變化。接下來的社區(qū)篇,我們將聚焦社區(qū),重點(diǎn)介紹Apache Way,RocketMQ Way,以及社區(qū)成熟度模型。至于品牌&社區(qū)的Building,業(yè)界也有很多實(shí)踐,如DevRel,JUG等。這里,放張圖感受一下。

??

??

Apache Way

在Apache社區(qū),一個(gè)很重要的理念,Community over Code。社區(qū)是判斷一個(gè)孵化項(xiàng)目能否畢業(yè)的重要考核標(biāo)準(zhǔn)。但這并不意味著Code就不重要。仔細(xì)回想一下,在你接觸過的所有Apache頂級(jí)項(xiàng)目中,有沒有給你留下深刻印象的Code(請(qǐng)?jiān)试S我拿代碼來說事,代碼就像一面鏡子,是工程師的門面,也是工匠榮辱的最直接體現(xiàn))。相信那些研究過大量Apache頂級(jí)項(xiàng)目的同學(xué),一定有和我一樣的感受。Apache在大力強(qiáng)調(diào)社區(qū)的今天,很容易給大家讓大家誤解 - 設(shè)計(jì)不重要了,代碼不重要了。試想下,如果產(chǎn)品的設(shè)計(jì),產(chǎn)品的質(zhì)量不過硬,又怎么指望會(huì)有一個(gè)健康多元的社區(qū)呢?所以,我們重視社區(qū),但也重視設(shè)計(jì),重視代碼質(zhì)量,重視產(chǎn)品帶給用戶的體驗(yàn)。

??

??

上面這幅圖節(jié)選自之前MeetUp上的分享,是我們對(duì)于Apache Way的理解。

· Community - Over Code,首先要認(rèn)識(shí)社區(qū),社區(qū)包羅萬象,有Developers,Writers,Testers,Sysadmins,Devops,Users等等,但不需要Employee。由Employees打造的社區(qū)是不健康的,不可持續(xù)的,缺乏多元化。國際上一些大公司,早期參與Apache項(xiàng)目,一味想著控制社區(qū),殊不知Apache社區(qū)理念的精髓在于與社區(qū),與其它企業(yè),其它個(gè)人貢獻(xiàn)者,培養(yǎng)協(xié)作,加速項(xiàng)目與個(gè)人的成長。社區(qū)不會(huì)憑空產(chǎn)生,不是把項(xiàng)目往Github上一丟就是開源了,然后社區(qū)就會(huì)自動(dòng)產(chǎn)生。一個(gè)社區(qū)的經(jīng)營是需要花費(fèi)心思的,發(fā)展一個(gè)社區(qū)成員,爭取一個(gè)國際貢獻(xiàn)者,這些都是一個(gè)長期經(jīng)營的過程。RocketMQ社區(qū)的第一個(gè)國際貢獻(xiàn)者,我們整整跟進(jìn)、鼓勵(lì)了近2個(gè)月。當(dāng)然,還有不少老外也表達(dá)出了貢獻(xiàn)社區(qū)的興趣,萬丈高樓平地起,先從最基本的工作做起,讓社區(qū)看到你的努力,看到你持續(xù)跟進(jìn)、貢獻(xiàn)社區(qū)的決心,Apache Committer(認(rèn)證程序員)自然離你不遠(yuǎn)。

  • Merit - Recognizing Your Work,參與社區(qū)的建設(shè)能獲得什么,一個(gè)Contributor在社區(qū)的所有努力是有目共睹和有跡可循的,提交了多少Issue和PR?參與了多少Code Review,郵件列表里是否總有真知灼見冒出來,這一切都在Github、JIRA、和郵件列表里進(jìn)行了沉淀,在得到社區(qū)的認(rèn)可后,Contributor變成為了Committer,Committer變成為了PMC Member。一步一步,社區(qū)認(rèn)可了你的貢獻(xiàn),你也獲得了不錯(cuò)的成長。
  • Open Development - For Everything,社區(qū)一切都是開放的,特別是對(duì)于開發(fā),每個(gè)人都可以參與到每行代碼中,從開發(fā)前的DISCUSS,再到Pull Request中的Code Review,甚至作為User使用方面的Feedback。所有的討論,思想的碰撞,甚至是爭論,都是Public的。對(duì)于國內(nèi)社區(qū),我們一直在鼓勵(lì)所有線下(包括QQ)的重要討論,在郵件列表里都能有所體現(xiàn),一切都是開放與透明的,沒有私下的決定。
  • Decision Making - Consensus & Votes,絕對(duì)的開放也會(huì)帶來一定的弊端,如流程上的繁瑣與拖沓。在社區(qū)做決議,首先需要通過在郵件列表中發(fā)起討論,達(dá)成一致后,需要再發(fā)起一次投票,并至少等待72小時(shí)(考慮全球時(shí)區(qū))后才能宣布投票結(jié)果。流程雖繁,但決議一旦通過,就堅(jiān)決執(zhí)行,這也是一種社區(qū)執(zhí)行力的體現(xiàn)。

在學(xué)習(xí)和實(shí)踐Apache Way的過程中,團(tuán)隊(duì)也摸索出了一套我們稱之為RocketMQ Way的最佳實(shí)踐。

  • International Collaboration - 禁止中文注釋,允許User郵件列表使用中文提問,但Dev郵件列表必須使用英文。關(guān)于幾個(gè)郵件列表的用途,請(qǐng)參考官方說明。
  • PR Management - Pull Request提交、合并需遵循一定的規(guī)約(checklist);每個(gè)PR必須有足夠的單元測試,集成測試,有增量的代碼覆蓋率要求;PR的合并有3+ +1,Committer提交的PR不要自己Merge。
  • Diversity Review - 對(duì)于Committer代碼實(shí)施CTR(Commit then Review)策略,對(duì)于Contributor則是RTC(Review then Commit)策略。
  • Branch Model - 采用雙主干模式(Master與Develop),秉持One kernel的理念。
  • Community CodeMarathon - 不定期的編程馬拉松,挖掘社區(qū)活躍的貢獻(xiàn)者,培養(yǎng)并輔導(dǎo)社區(qū)的深度參與者。
  • Ecosystem Assemble - 獨(dú)立倉庫,為社區(qū)項(xiàng)目安營扎寨。每個(gè)個(gè)體在貢獻(xiàn)之前,首先要提交Apache的ICLA。
  • One contributor, One Mentor - 每位PMC成員都有義務(wù)幫助社區(qū)Contributor,輔導(dǎo)并帶領(lǐng)他們熟悉Apache Way,成為Committer甚至是PMC Member。

網(wǎng)站流量的變化

半年多的時(shí)間里,我們陸續(xù)在云棲社區(qū),CSDN,InfoQ中文站、國際站發(fā)表了多篇技術(shù)文章,撰寫國際論文,在ApacheCon、LinuxCon等國際頂級(jí)開源峰會(huì)發(fā)表主題演講,全球圖文同步直播Meetup。通過這一系列國際輸出,網(wǎng)站流量迎來了可喜變化。

通過這幅圖可以看到,美國現(xiàn)在已經(jīng)是RocketMQ全球第2大訪問國。這對(duì)團(tuán)隊(duì)即將開展的Aliware MQ國際戰(zhàn)略,奠定了良好的基礎(chǔ)。同時(shí),這種持續(xù)走高的流量也在不斷鞭策著我們,寫高質(zhì)量代碼,做高質(zhì)量產(chǎn)品,向全球輸出中國智(質(zhì))造。

成熟度評(píng)估

坦白說,RocketMQ進(jìn)入Apache之初,并沒有針對(duì)這個(gè)模型做任何學(xué)習(xí)(討厭應(yīng)試教育)。我們希望通過自己的理解和踐行,完成全球社區(qū)的構(gòu)建,完成畢業(yè)。令人驚喜的是,當(dāng)團(tuán)隊(duì)8月份開始正式審視畢業(yè)TODO List時(shí),發(fā)現(xiàn)Apache的理論指導(dǎo)和我們的實(shí)踐驚人的一致。理解萬歲!下圖是RocketMQ的社區(qū)成熟度評(píng)估。

??

??

生態(tài)篇章

作為國內(nèi)首個(gè)非Hadoop、Spark大數(shù)據(jù)生態(tài)下的Apache頂級(jí)項(xiàng)目,我們?cè)诖蛟於嘣鐓^(qū)的同時(shí),也在努力構(gòu)建以Messaging為Core的生態(tài)體系。之前提到過的,我們?yōu)樯鐓^(qū)生態(tài)貢獻(xiàn)者提供了單獨(dú)的Apache代碼倉庫。這一做法,現(xiàn)在也在紛紛被其它Apache頂級(jí)項(xiàng)目所效仿。截止目前為止,來自社區(qū)貢獻(xiàn)的RocketMQ-Console, RocketMQ-JMS, RocketMQ-Flume,RocketMQ-CPP 等生態(tài)項(xiàng)目已經(jīng)在諸多公司內(nèi)部進(jìn)行了線上驗(yàn)證,像RocketMQ-Druid,RocketMQ-Ignite,RocketMQ-Storm等項(xiàng)目,代碼更是被合并進(jìn)對(duì)方倉庫,這也使RocketMQ和其它頂級(jí)開源項(xiàng)目、社區(qū)之間有了更多連接。更多的生態(tài)項(xiàng)目介紹,請(qǐng)參考官網(wǎng)介紹。

??

??

Messaging生態(tài)

??

??

上面這幅圖是團(tuán)隊(duì)圍繞著OpenMessaging 標(biāo)準(zhǔn)而努力打造的生態(tài)體系。OpenMessaging是團(tuán)隊(duì)多年來從事Messaging領(lǐng)域研究的一個(gè)經(jīng)驗(yàn)提煉。經(jīng)過半年多的發(fā)展,這套標(biāo)準(zhǔn)已經(jīng)進(jìn)入Linux基金會(huì),接下來會(huì)進(jìn)入到CNCF,成為云計(jì)算不可或缺的標(biāo)準(zhǔn)之一。而這套API級(jí)的跨平臺(tái),跨語言標(biāo)準(zhǔn),會(huì)嘗試解決之前我們遇到但未曾徹底解決的所有問題。如下圖所示,分布式事務(wù),我們內(nèi)部的產(chǎn)品MateQ和Notify也有類似的特性,但這種分布式事務(wù)更多的是發(fā)送者分布式事務(wù),并不是真正意義上的分布式事務(wù)。負(fù)載均衡,在拉模式和推模式下策略會(huì)有所不同,消息本身的sharding也會(huì)因業(yè)務(wù)場景不同而不同。分布式追蹤,主要是考慮Linux CNCF中的opentracing。協(xié)議橋接,主要是考慮如何和現(xiàn)有的標(biāo)準(zhǔn),如JMS進(jìn)行無縫橋接。流計(jì)算,通過引入流計(jì)算算子,在消息投遞過程中針對(duì)內(nèi)容進(jìn)行計(jì)算。Benchmark,類似SPECJMS,把所有Messaging Engine拉到同一基調(diào)上做性能測試。

??

??

總結(jié)一下,基于OpenMessaging的下一代的消息引擎RocketMQ 5.0主要會(huì)在四個(gè)領(lǐng)域持續(xù)發(fā)力:電子商務(wù),高并發(fā)下削峰填谷。物聯(lián)網(wǎng)領(lǐng)域,海量連接同時(shí)在線。大數(shù)據(jù)領(lǐng)域,吞吐為王。金融領(lǐng)域,重要的是高可靠,數(shù)據(jù)冗余。

結(jié)束語

和其它國際頂級(jí)開源項(xiàng)目略有不同(如Hadoop,Spark等),除了在開源社區(qū)的努力外,團(tuán)隊(duì)在阿里集團(tuán)也支撐著非常有挑戰(zhàn)的內(nèi)部業(yè)務(wù)(萬億級(jí)消息體量)。此外,RocketMQ商業(yè)版Aliware MQ已經(jīng)對(duì)外云輸出2年之久,服務(wù)了國內(nèi)外上千家企業(yè)。除了這些,團(tuán)隊(duì)也在積極打造消息流計(jì)算生態(tài),在Kafka,RabbitMQ,中繼和數(shù)據(jù)同步等產(chǎn)品上持續(xù)耕耘。最近,OpenMessaging標(biāo)準(zhǔn)項(xiàng)目也正式入駐Linux基金會(huì),這也是國內(nèi)首個(gè)在全球范圍內(nèi)發(fā)起的分布式消息領(lǐng)域國際標(biāo)準(zhǔn)。所有這一切,對(duì)團(tuán)隊(duì)來說都極具挑戰(zhàn),我們希望在分布式、大數(shù)據(jù)、多語言架構(gòu)領(lǐng)域有較高造詣,有追求的同學(xué)加入團(tuán)隊(duì),而團(tuán)隊(duì)也會(huì)努力提供極具挑戰(zhàn)的施展空間。我們重視成長,關(guān)注可持續(xù)發(fā)展。Apache RocketMQ頂級(jí)項(xiàng)目的畢業(yè)只是一個(gè)開始。前路漫漫,未來可期!

作者簡介:馮嘉,阿里巴巴高級(jí)技術(shù)專家,Aliware MQ負(fù)責(zé)人、主架構(gòu)師,Apache RocketMQ聯(lián)合創(chuàng)始人,LInux OpenMessaging 標(biāo)準(zhǔn)創(chuàng)始人。具有豐富的分布式軟件架構(gòu)、高并發(fā)網(wǎng)站設(shè)計(jì)、性能調(diào)優(yōu)經(jīng)驗(yàn),擁有國內(nèi)外多項(xiàng)分布式、推薦領(lǐng)域的專利。開源愛好者,專注分布式、大數(shù)據(jù)領(lǐng)域,關(guān)注 Hbase/Hadoop/Spark/Flink 等大數(shù)據(jù)技術(shù)棧。

【本文為51CTO專欄作者“阿里巴巴官方技術(shù)”原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)聯(lián)系原作者】

??戳這里,看該作者更多好文??

 

責(zé)任編輯:武曉燕 來源: 51CTO專欄
相關(guān)推薦

2009-06-22 13:29:00

Apache Open

2024-08-14 08:11:41

2020-12-08 09:45:51

項(xiàng)目Apache分表

2022-06-02 08:21:07

RocketMQ消息中間件

2022-06-13 10:24:54

開源時(shí)序數(shù)據(jù)庫高校項(xiàng)目

2021-04-09 22:09:55

軟件基金會(huì)頂級(jí)項(xiàng)目

2021-11-29 07:47:56

RocketMQ分布式消息

2020-12-09 12:52:45

分布式對(duì)象存儲(chǔ)

2022-05-27 07:49:14

RocketMQ消息中間件分布式

2022-01-18 11:22:58

Hadoop 管理工具Apache Amba

2017-04-24 13:51:50

華為

2020-04-24 09:26:15

RocketMQ分布式MetaQ

2018-07-18 13:38:21

百度

2024-05-22 08:02:30

2024-01-30 12:07:51

2022-04-12 10:34:39

開源開源項(xiàng)目Apache

2018-07-30 17:31:28

開源

2018-07-31 15:34:27

開源

2019-06-21 14:25:07

HadoopCTO數(shù)據(jù)庫
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)