Spring Cloud Alibaba 開源兩年時間,已經成爲了最受開發者關注、最活躍的 Spring Cloud 實現。它之因此能這麼快的受到開發者的承認,一方面是它生態中的組件豐富且通過阿里 雙11 驗證,但更重要的仍是社區中各位貢獻者、廣大用戶的貢獻和反饋。@yuhuangbin 來自六品堂教育科技,架構師負責在線書法教育平臺微服務架構及其平臺基礎設施構建。在參與到 Spring Cloud Alibaba 社區後,貢獻的 PR 數僅次於阿里團隊。在上週六,他正式晉升爲 Committer。程序員
如下是他的開源貢獻之旅:sql
1. 是什麼契機讓你瞭解到 Spring Cloud Alibaba 的?
2018 年中旬的時候,項目中某業務場景涉及到了分佈式事務需求,此時急需一款高效穩定的分佈式事務中間件來幫咱們解決在分佈式場景中的事務問題,在朋友的推薦下,瞭解到了阿里開源分佈式事務框架 Seata,因爲咱們項目使用的是 Cloud,在社區詢問得知,Spring Cloud Alibaba 微服務一站式解決方案爲 Spring Cloud 用戶提供了 Seata 的無縫適配,因爲對業務代碼的無侵入性特性,好奇的我去 clone 了一份 Spring Cloud Alibaba 的源代碼,因而開始了 Spring Cloud Alibaba 學習之旅。架構
2. 參與到 Spring Cloud Alibaba 的開源貢獻是什麼樣的體驗?
其實我最先參與的貢獻社區是 Spring Cloud Alibaba 中的分佈式事務組件 Seata,剛開始也是去熟悉 Seata 的代碼以及一些使用方法,加了不少社區羣,因爲 Spring Cloud Alibaba 當時接觸的人不是特別多,本身也常常跟社區小夥伴分享本身的使用經驗,最開始提交給社區的代碼是 Spring Cloud Alibaba 一系列組件的使用示例,後來被收歸入 Seata 官方示例項目工程。框架
也正是此次的提交代碼,我被加入到了社區貢獻者羣,從 Seata 逐漸瞭解到 Spring Cloud Alibaba 其餘的優秀組件,當時公司項目也在使用 Spring Cloud 技術棧,Spring Cloud Nteflix 組件在逐漸被 Spring Cloud 團隊淡化,甚至部分組件宣佈閉源,這讓我對阿里開源的 Spring Cloud Alibaba 產生了濃厚的興趣,從本身會用->跟別人分享使用經驗->看源代碼實現->參與解決社區 issue,如今還記得我提交給 Spring Cloud Alibaba 的第一個 PR 是一個 Nacos 組件的版本升級:分佈式
對沒錯,就是一行代碼的提交,讓個人 GitHub ID 出如今了 Spring Cloud Alibaba 的貢獻者行列,當時很高興地跟同事炫耀我也是 Spring Cloud Alibaba 的貢獻者了,哈哈,而後我進入了 Spring Cloud Alibaba 貢獻者小組討論羣,羣裏面有各行業領域的專家,你們在一塊兒討論方案、設計以及實現,前期 Spring Cloud Alibaba 社區的大佬也對我指導有加,Review 代碼來給我意見建議,我以爲在參與社區的貢獻過程當中,我也進步了不少、學習了不少,也得益於 Spring Cloud Alibaba 社區的衆多大佬,在我不懂的地方詳細給我解釋此處的設計,以及一些考慮。逐漸的我也主動去承擔一些相對簡單的開發任務,去解決一些 issue 來反哺社區。微服務
3. 支撐你持續貢獻 Spring Cloud Alibaba 最大的動力是什麼?
從我剛開始接觸 Spring Cloud Alibaba 到我開始參與社區開發討論,在這個過程當中,對本身的成長是顯而易見的,也認識了不少大神,從最開始的一行代碼提交到如今的貢獻 PR 數排行僅次於阿里團隊,我以爲我仍是比較享受這個過程吧,或許有一種開源情懷,每當本身想到本身寫的代碼可以被廣大的用戶去了解、學習、使用,就會有一種知足感,這是程序員最簡單的快樂,就像你解決了一個困擾已久的難題同樣。在成爲了 Spring Cloud Alibaba Committer 後,我以爲更多的在於有使命感,想讓這個社區發展的愈來愈好,去解決用戶使用過程當中遇到的種種問題,真正的讓 Spring Cloud Alibaba 變得更穩定,更易用,更高效的一款 Spring Cloud 一站式解決方案。學習
4. 貢獻中最有成就感的事是什麼?
從瞭解到熟悉再到參與貢獻到最後成爲 Committer,我以爲這個過程纔是我以爲最有成就感的事情,剛開始沒想過本身會成爲一個廣大用戶選用的 Spring Cloud 框架的 Committer,在這個過程當中經歷了不少也成長了不少,也是一個從不相信本身到證實本身的一個過程。在這裏我也想呼籲廣大的開發者,踊躍參與 Spring Cloud Alibaba 社區,與各技術大咖近距離溝通接觸,碰撞,相信也是對本身的一次提高。阿里雲
5. 貢獻中遇到最大的挑戰是什麼?
當時在引入了一個特性後,致使了一些與其餘外部組件兼容性問題。後來在社區大佬們的幫助下,從新設計了功能實現方案。由於 Spring Cloud Alibaba 支持的組件比較多,使用場景也比較多因此我以爲遇到的最大挑戰其實就是在功能的設計要考慮廣大用戶的使用場景,以及組件搭配使用的兼容適配,爲了熟悉 Spring Cloud Alibaba 集成的相關組件,也迫使本身去了解更多的解決方案場景,更好的去實現功能。url
6. 還有在參與 Spring Cloud Alibaba 全家桶中的其餘開源項目的貢獻嗎?(如 Dubbo、RocektMQ、Nacos、Seata、Sentinel 等)
參與過 Seata 項目的 sql 語句解析適配的功能開發。spa
本文爲阿里雲原創內容,未經容許不得轉載。