天天看點

Meet new Sentinel Go committers!Meet new Sentinel Go committersHow to contribute

Meet new Sentinel Go committers!Meet new Sentinel Go committersHow to contribute

來源|

阿裡巴巴雲原生公衆号

Sentinel 是阿裡巴巴開源的,面向分布式服務架構的流量控制元件,主要以流量為切入點,從限流、流量整形、熔斷降級、系統自适應保護等多個次元來幫助開發者保障微服務的穩定性。Sentinel 承接了阿裡巴巴近 10 年的 雙11 大促流量的核心場景,例如秒殺、冷啟動、消息削峰填谷、叢集流量控制、實時熔斷下遊不可用服務等,是保障微服務高可用的利器,原生支援 Java/Go/C++ 等多種語言,并且提供 Istio/Envoy 全局流控支援來為 Service Mesh 提供高可用防護的能力。

2020 年年初,Sentinel 社群宣布了 Sentinel Go 版本的釋出,為 Go 語言的微服務和基礎元件提供高可用防護和容錯能力的原生支援,标志着 Sentinel 朝着多元化與雲原生邁出了新的一步。在這半年的時間内,社群推出了近 10 個版本,逐漸對齊了核心高可用防護和容錯能力,同時也在不斷擴充開源生态,與 dubbo-go、螞蟻 MOSN 等開源社群進行共建。

11 月,Sentinel Go 1.0 GA 版本正式釋出,标志着 Go 版本正式進入生産可用階段。詳情請看:

《阿裡 雙11 同款流控降級元件 Sentinel Go 正式 GA,助力雲原生服務穩穩穩》

Meet new Sentinel Go committers

可喜的是,社群在 11 月迎來了三位新 committer。接下來,我們一起來認識下這三位新 committer。

Meet new Sentinel Go committers!Meet new Sentinel Go committersHow to contribute

1. 是什麼契機讓你了解到 sentinel 的?

Meet new Sentinel Go committers!Meet new Sentinel Go committersHow to contribute

之前在阿裡實習過,對 Sentinel 原本有過一些接觸。工作中有一些流控需求,就深入調研過 Sentinel,慢慢的開始和Sentinel開源負責人宿何一起共創 Sentinel Go 這個項目。

Meet new Sentinel Go committers!Meet new Sentinel Go committersHow to contribute

工作項目中需要實作熔斷限流相關的功能,就調研了許多相關的開源項目,最終發現基于 sentinel-golang 開發是最合适的。為了對 sentinel-golang 有更深的了解和更好的把控,就開始深度閱讀 sentinel-golang 源碼,并加入 sentinel 社群與小夥伴們進行深度交流。

Meet new Sentinel Go committers!Meet new Sentinel Go committersHow to contribute

在參與 nacos-sdk-go 項目開發時,了解到 sentienl-golang。另外有計劃使用 Nacos 作為外部動态資料源,就參與進來貢獻了。

2. 參與到 sentinel 的開源貢獻是什麼樣的體驗?

Meet new Sentinel Go committers!Meet new Sentinel Go committersHow to contribute

Sentinel 開源社群是一個非常開放,包容,活躍的社群。在這裡可以認識很多的牛人,學習分布式系統高可用流量防護的大量實踐經驗。在這裡任何想法和優秀的設計,都可以和社群核心成員一起讨論并且落地。

Meet new Sentinel Go committers!Meet new Sentinel Go committersHow to contribute

非常幸運能參與到 Sentinel 的開源貢獻,在參與的過程中,收獲很多。首先認識了很多牛人,獲得了很多難得的交流機會;其次,在貢獻代碼的過程中,進一步加深了對 Sentinel 項目設計與實作的了解;還有就是利用業餘時間參與貢獻,讓自己的業餘時間更加充實。

Meet new Sentinel Go committers!Meet new Sentinel Go committersHow to contribute

首先覺得氛圍很好,社群大佬 @宿何 和 @louyuting 等等都很熱情會非常及時的解答每一個問題。其次覺得社群非常專業,可以和很多小夥伴進行深度交流,參與貢獻的過程中會學習到很多知識,對 Sentinel 的設計理念有了更深層次的了解。

3. 支撐你持續貢獻 Sentinel 最大的動力是什麼?

Meet new Sentinel Go committers!Meet new Sentinel Go committersHow to contribute

Sentinel Go 這個項目我算是第一行代碼的 Contributor,一路走過來慢慢跟随着項目的成長。整個過程能夠看到項目不斷的完善成長,也支援了社群裡面一些公司的實際需求。對我而言,一方面是個人的成長,自己主導的 Sentinel Go 裡面的一些核心設計能夠落地,看到自己做的産品能夠真正影響到一些人一些公司,産生實際的價值。另外與一些其餘社群比如 dubbogo、mosn 社群,以及社群裡面的一些公司合作,能夠看到 Sentinel Go 能真正幫助他們解決微服務在高可用流量防護方面的一些痛點,非常有成就感。

Meet new Sentinel Go committers!Meet new Sentinel Go committersHow to contribute

最大的動力就是希望實作個人與 sentinel 的共同成長。每次自己的代碼被合并,對自己是個很大的鼓舞,促使自己繼續努力、繼續提升自我。也希望通過個人微薄的貢獻,能使 sentinel 發展地越來越好,能幫助到越來越多的人或項目。最讓我有成就感的是自己主動挖掘到了項目中可改進和可優化的點,并且最終完成相應的代碼貢獻。我認為能夠給在一個優秀的開源項目中發現問題并解決問題,是對個人能力一個很好的證明,是以會讓我很有成就感。

Meet new Sentinel Go committers!Meet new Sentinel Go committersHow to contribute

最大的動力應該就是對于開源社群的熱情吧,以及希望在貢獻的過程中與 sentinel 一起成長。在 sentinel 這樣的優秀産品中留下自己貢獻代碼的足迹是非常有意義的事情。從加入社群開始到 sentinel-golang 的 v1.0.0 釋出,在這個過程中學習到很多,不斷的挑戰自己,看着 sentinel-golang 成長很有成就感。

4. 貢獻中遇到最大的挑戰是什麼?

Meet new Sentinel Go committers!Meet new Sentinel Go committersHow to contribute

項目前期對一些高可用流量防護的實際場景了解的不夠充分,一些核心設計上考慮的可能不夠全面。不過整個社群都比較活躍,和一些社群核心成員溝通交流逐漸加深了對一些業務場景了解。

Meet new Sentinel Go committers!Meet new Sentinel Go committersHow to contribute

前期由于對整個項目熟悉度還不夠,貢獻代碼時,可能僅考慮到一個表面的點,更深層次的東西可能考慮不到。不過,令人欣慰的是社群氛圍比較好,在社群成員的幫助下,自己也逐漸的對整個項目熟悉起來了。

Meet new Sentinel Go committers!Meet new Sentinel Go committersHow to contribute

最大的挑戰也許就是第一次給 sentinel 送出 PR 的時候了。因為剛開始不太熟悉項目 PR 改了很多次。最後多虧 @louyuting 大神耐心指教。

5. 還有在參與 Spring Cloud Alibaba 全家桶中的其他開源項目的貢獻嗎?

Meet new Sentinel Go committers!Meet new Sentinel Go committersHow to contribute

主要會參與一些 Sentinel Go 與 Dubbo Go 融合的相關事情。

Meet new Sentinel Go committers!Meet new Sentinel Go committersHow to contribute

目前還沒有參與其他的項目,後續有機會的話想參一下 Dubbo Go 項目。

Meet new Sentinel Go committers!Meet new Sentinel Go committersHow to contribute

目前也有參與 Nacos 項目。

How to contribute