假期做了一項調研:大廠為啥都自研RPC?結果合乎情理!

冰河發表於2023-05-04

大家好,我是冰河~~

五一假期過的可真快,今天開始,又要搬磚了。在五一假期當中,冰河做了一項調研,感覺結果還是挺合乎情理的。

翻看招聘資訊

先來看我在某招聘網站上隨便搜尋了下Java招聘的崗位,看到的招聘資訊。

可以看到,很多崗位都要求有分散式、微服務相關的開發經驗,並且清一色都需要掌握RPC框架,有RPC開發經驗,並且某大廠給出的RPC中介軟體架構師崗位更是給出了60-70K,16薪的薪資。在這個超級內卷加大裁員的背景下,還是挺有誘惑力的。

不過話說回來,為啥大廠在招聘的時候,都需要具備分散式、微服務的開發經驗,並且為啥對RPC框架也這麼情有獨鍾呢?

其實,很多大廠都有一套自研的RPC框架,這無形當中會增加對面試者的要求,那就是要掌握RPC的基礎知識,基本原理,具備一定的開發經驗,這樣,你才能更快的掌握大廠的核心業務系統,甚至參與大廠核心RPC框架的研發工作,並且你掌握的越深入,你的薪資基本上也會越高。

大廠都自研RPC?

眾所周知,大廠無論是在使用者體量還是在業務規模上,體量都是比較大的,並且一整套系統中都會拆分成很多的服務,甚至不同的業務線之間的系統也會存在資料之間的互動。這就需要有一套成熟、穩定,並且效能高效的RPC框架作為多個服務、甚至是不同業務線的多套系統之間的底層通訊設施。

所以,一般大廠都會基於自身業務的特點,自研符合自身發展需求的RPC框架。比如阿里的Dubbo、微博的Motan、騰訊的Tars、谷歌的gRPC、Facebook的Thrift都是業界比較出名的RPC框架。就拿阿里的Dubbo來說,被廣泛應用於整個集團內部眾多服務之間的底層通訊上。

如果你想進阿里、微博、騰訊、谷歌、Facebook等這些大廠時,如果你已經深度掌握了像Dubbo、Motan、Tars、gRPC和Thrift等RPC框架,這無疑會是你的加分項,因為從情感上來講,大廠還是比較傾向於招聘已經深度掌握自身公司開源框架的候選人,這一點,別問我是怎麼知道的。

如何深度學習RPC?

既然分散式、微服務、尤其是RPC框架已經成為很多網際網路大廠在招聘過程中的重要面試考察點,那作為程式設計師的我們,平時有很多CRUD的工作要做,抽不出大量的時間來深度學習RPC知識。儘管網上有很多開源的RPC框架,但是龐大的原始碼弄的人眼花繚亂,還沒看幾個類就已經暈頭轉向了,更別提深度掌握了。

正是考慮到這些問題,冰河單獨寫了一個很長的《RPC手擼專欄》。並且《RPC手擼專欄》是冰河帶著星球的小夥伴們一起從零開始手擼的一款可在真實場景使用的、高效能、可擴充套件的RPC框架,整個專欄目前已更新了 三十四個大的篇章,122+篇文章,122+程式碼工程,130+程式碼分支

涵蓋:自定義註解、自定義包掃描類、自定義協議、請求與響應協議的封裝、服務提供者、服務消費者、註冊中心、負載均衡與增強型負載均衡、序列化與反序列化、動態代理、反射機制、心跳機制、重試機制、整合Spring、整合SpringBoot、整合Docker、整合SpringCloud Alibaba、結果快取、路由控制、延遲連線、併發控制、流控分析、連線控制、SPI擴充套件連線淘汰策略、資料緩衝、服務容錯、服務限流、基於SPI擴充套件限流策略、超出限流規則、服務熔斷、基於SPI擴充套件熔斷策略、異常監控等篇章。

RPC框架採用微核心、外掛化的架構設計,會涉及大量的SPI擴充套件點,供小夥伴們按照自身實際場景擴充套件對應的功能,涉及到的核心技術點如下圖所示。

加入冰河技術知識星球可閱讀完整專欄文章和獲取完整RPC框架原始碼,後續冰河會為專欄錄製對應的影片,整體專欄如下所示。

文章試讀地址:https://binghe.gitcode.host站點下的專案實戰選單下。

好了,今天就到這兒吧,我是冰河,我們下期見~~

相關文章