Apache基金會總結RocketMQ:中國70%的銀行核心業務已採用,國內技術人員貢獻明顯增多...

weixin_33766168發表於2019-04-02

Apache生態利用社群建立了一種極其有效的開放式創新Apache Way,旨在通過社群聲音、郵件列表以及專案管理委員會完成對Apache產品的快速迭代。 Apache RocketMQ專案管理委員會成員Von Gosling對RocketMQ這款企業級產品在專案和社群上的專案前景進行了分享和介紹,本文通過他的分享也希望讀者能更多地參與Apache社群的推廣和問題解決。

2018年Von Gosling發表了一篇文章來自非英語國家的社群如何理解並使用Apache方式進行開放式創新,表達了開發人員希望有一個開放的社群環境,善於使用郵件列表,能傾聽社群的聲音並及時做出響應和決定。本文,Von Gosling通過一些實際的例子分享了一些Apache RocketMQ社群建設和如何協作創新的故事。

Apache RocketMQ前景

Apache RocketMQ最初是用線上電子商務事務處理的分散式訊息傳遞引擎,可以在許多公司的生產環境中進行數十億甚至數萬億的資訊傳輸。

優點

  • RocketMQ已被證明適用於大規模分散式場景中的高吞吐量、低延遲訊息傳遞系統。
  • Linux Foundation上的標準OpenMessaging專案為雲中的分散式訊息傳遞系統提供了一個通用的基準測試平臺,Apache RocketMQ是參考的基準之一。
  • 作為一個廣泛使用的訊息傳遞引擎,RocketMQ提供了拉動和推送模型,支援預定訊息、有序訊息、批量訊息、廣播訊息、訊息過濾、死信佇列(dead-letter Queue)等,幾乎支援所有經典事件驅動或流媒體場景。

RocketMQ正在嘗試去補充一些還未能在企業級進行支援的核心功能。

新功能

去年,RocketMQ社群宣佈了三個有吸引力的功能:事務性訊息訊息跟蹤身份驗證和授權

  • 事務性訊息保證了傳送方和本地業務操作之間的事務一致性。此功能是一個非常有價值的功能,由金融行業的幾個人發起和貢獻。基於事務性訊息,我們可以構建一個全棧分散式事務平臺,適用於需要長期執行的微服務。

Apache生態

問題

在採用訊息傳遞機制的企業級應用程式中,始終存在一個令人不安的問題:我的資訊傳送到哪裡了? 消費者接收成功或失敗,我如何找到訊息歷史?這是一項非常困難的任務,特別是當提供雲釋出/訂閱服務時,因為訊息傳遞是一種非同步解耦過程,上游和下游相互之間並不瞭解。

一個例子

幸運的是,中國移動研究院的一些人在Apache RocketMQ Meetup上找到了專案管理委員會(PMC)的成員,並告知了他們碰到的問題。PMC成員向他們推薦了社群中最新的RIP計劃,這項計劃是Apache RocketMQ內部程式碼非常有挑戰性的一次優化和改進。在PMC成員的幫助下,他們一起補充、討論並接受了這項改進計劃。Von Gosling透露到,經過一段必要的時間規劃,RocketMQ開始設計、編碼和討論,交換程式碼並實現細節。其中包括幾個聚會,聚集在一起討論和審查程式碼,直到後來的線上驗證和釋出。更有意義的是,在稽核過程中,來自社群的另一個雲供應商還參加了進來。通過簡單的視訊通訊,最初的實現被優化並解決了相容性問題。在社群中,最後的新版本由兩家雲供應商在生產中進行了驗證。通過ACL提供的功能,PMC和社群持續協作,最終釋出了RIP計劃的最終版本。

社群的工作

通過聚會收集要求,通過公開討論,再加上使用Zoom的視訊通訊,RocketMQ社群在去年完成了幾個重要的釋出。同時,為了更好地促進生態繁榮,還對Apache RocketMQ外部儲存庫下的幾個專案進行了重組(80%以上是在孵化期間由社群貢獻的專案)。除了設定里程碑,增加了類似的孵化和畢業機制,進一步降低了社群參與的難度,同時更好地保證了產品質量。今天,已經畢業的幾個不同語言的SDK專案來自大量使用和維護的使用者,社群的熱情甚至超越了想法。它還驗證了未來的雲架構是獨立於語言的,甚至是無伺服器的。在這一大趨勢下,社群積極參與了RocketMQ多語言生態建設。RocketMQ現在支援java、cpp、python、go、nodejs,其他語言也在計劃中。目前的CPP客戶端最多可支援8個平臺,如CentOS、MacOS、Ubuntu和Windows。

RocketMQ社群

不僅如此,越來越多的社群愛好者也自發地組織起來:他們積極地策劃城市車站等類似活動,也需要PMC給予一些關注和鼓勵。與此同時,Apache也在思考社群是否應該有類似釋出經理一樣面向開發人員的角色,比如開發人員關係維護者或專案經理,以便獲得更多使用者的理解,更多地參與到產品中來。近年來社群的發展也給RocketMQ社群帶來了許多新的氣象,出現了越來越多的活躍開發者。在最近的大約三個月內,從dev電子郵件列表傳送了近2,000封電子郵件。研究表明,中國70%的頂級銀行在核心業務連結上使用Apache RocketMQ,大約60%的網際網路金融和保險客戶在其生產環境中使用RocketMQ,中國20強網際網路公司中75%廣泛採用經典的pub/sub場景。

最近,RocketMQ社群一直在討論下一代訊息傳遞平臺的開發。Von Gosling表示,RocketMQ希望它會是一個帶有輕量級資料處理平臺的統一訊息傳遞引擎,並歡迎大家參與其中,告訴PMC您在未來版本的RocketMQ中期待看到哪些功能。

相關文章