被噴了?聊聊我開源RPC框架的那些事
前段時間利用業(yè)余時間寫了一個簡單的 RPC 框架,花費了不少精力。開源出來之后,少部分不太友好的技術人站在上帝視角說了風涼話。就很難受,兄弟,誰還沒有一個玻璃心。
簡單吐槽一波,給大家聊聊關于 guide-rpc-framework[1] 的一些事情。

01 我的自定義 RPC 框架近況
關注我的大部分小伙伴應該都知道,3 個月前,我利用業(yè)余時間手寫一個簡單的 RPC 框架(玩具),名字叫做 guide-rpc-framework。
目前的話,這個項目已經(jīng)有 0.5k 的 star。感謝小伙伴們的支持!

寫這個 RPC 框架的主要目的是為了個人學習,開源出來的目的主要是想幫助到更多人。 (有很多小伙伴找到了大廠 offer 之后,專門回來感謝我開源的這個 RPC 框架)
02 開源的魅力
開源出來之后,大部小伙伴都是比較支持的,有很多小伙伴都參與了進來一起完善。
這里點名表揚一下 Github 用戶名為 sakuragi1111[2] 和 smile2coder[3] 這兩位老哥。
sakuragi1111 這位老哥通過參考 Dubbo 源碼實現(xiàn)了 SPI 機制。

smile2coder 這位老哥為 guide-rpc-framework 添加了通過注解實現(xiàn)服務消費的功能。

目前的話, guide-rpc-framework 已經(jīng)支持通過注解進行服務消費和注冊。
程序世界,什么樣的人都有,有人感謝你,也會有人貶低你。
03 不那么好的聲音
在我的 guide-rpc-framework 開源之后,也經(jīng)常會受到像:“你有本事別用現(xiàn)成的框架寫一個啊?”、“你這個寫的一點亮點都沒有,有啥意思?”、“都有了 Dubbo 之后,為啥還要自己寫一個?”、“重復造輪子沒意義”......之類的不太友善的話語。
說句心里話,一般說出來這種話的人往往技術水平很低。
如果,你指出我哪里寫的不好,我很樂意地去修改。但是,你站在上帝視角說著風涼話,那就是人品有問題了。
1.為什么不能利用現(xiàn)成的框架呢?(比如為啥不用 JDK NIO 而用 Netty?)
毫不夸張地說:開源出來的東西,就是全體技術人共同的財富。
Netty 比 NIO 更好用、更完善,我為啥還要直接使用 NIO 呢?我們平常經(jīng)常接觸的 Dubbo、RocketMQ、Elasticsearch、gRPC 等等都用到了 Netty 啊。
2.你這個寫的一點亮點都沒有,有啥意思?
有能耐的話,你也可以自己寫一個。說出此類的話的人,往往是嫉妒心理比較嚴重或者自身水平不行但是比較驕傲的人。而且,RPC 框架本身就已經(jīng)有很多比較成熟的例子了比如 Dubbo。說實話,Dubbo 基本是已經(jīng)把 RPC 框架能考慮到的點都考慮到了。
我不信你一個人,能干過人家一個團隊好多年的成果。
3.都有了 Dubbo 之后,為啥還要自己寫一個?
一定要學會看 README!!!
我在項目的 README 中明確說明了:寫這個 RPC 框架主要是為了通過造輪子的方式來學習,檢驗自己對于自己所掌握的知識的運用。
4.重復造輪子沒意義
我們實際項目開發(fā)中是比較忌諱造輪子的,但是,實際學習過程中造輪子絕對是最自己百利而無一害的!
我的 RPC 框架肯定是無法和 Dubbo 這類已經(jīng)這么成熟的相提并論。但是,在自己去寫 RPC 框架的時候,更加加深了自己對于 RPC 框架的認識。實現(xiàn)的過程中,遇到了很多問題,解決問題的過程中也提高了自己的編程能力。總而言之,造輪子是一種特別能夠提高自己系統(tǒng)編程能力的手段。
04 擁抱開源
開源絕對是編程領域最美妙的事情之一,大幅提高了我們的生產(chǎn)力。
沒事就去開源社區(qū)比如 Github 或者 Gitee 逛逛,在這里你可以 get 到各種好東西。
你可以在 Github 分享很多東西,你的學習筆記、自己做的實戰(zhàn)項目、自己造的輪子......(資源類的不太推薦,太容易侵權)。

雖然,現(xiàn)在 Github 被很多人單純玩成了引流工具。但是,整體來說 Github 整體技術環(huán)境和氛圍還是很不錯的!
另外,最好的話是要給項目弄一個英文版本,項目代碼中的注釋最好也要是英文的。畢竟是開源,最好是能遵守開源精神使用世界通用語言(這一點我自己也沒做好,反思!)。
如果你想讓自己的開源項目被更多人知道的話,你可以在下面技術平臺宣傳(不宣傳的話,開源的東西很難被別人知道,不要讓好東西被埋沒):

05 最后
技術人千萬不要站在上帝視角批判,不要成為大家都討厭的那批人。
參考資料
guide-rpc-framework: https://github.com/Snailclimb/guide-rpc-framework
[2]sakuragi1111: https://github.com/sakuragi1111
[3]smile2coder: https://github.com/smile2coder
06 閑聊
昨天的華為開發(fā)者大會讓多少人的臉被打的啪啪啪響啊!
之前,我也不看好鴻蒙生態(tài),畢竟這東西哪里像寫個APP那樣簡單。但是,到了現(xiàn)在,你仔細看看華為面對美國制裁的表現(xiàn),你看看大部分中國人民是不是逐漸越來越有信心。
就我作為華為忠實來用戶來說:“你可以不愛,但不要惡意傷害,即使最終的結(jié)果可能會失敗”。我最最最討厭別人站在上帝視角說話、無腦批判,就像我今天這篇文章表達的主題一樣。做一個善良的人吧!


文章有幫助可以點個「在看」或「分享」,都是支持,我都喜歡!
我是Guide哥,Java后端開發(fā),會一點前端知識,喜歡烹飪,自由的少年。一個三觀比主角還正的技術人。我們下期再見!
往期推薦
