騰訊宣布開源 tRPC 框架,號稱“多語言插件化高性能”
10 月 18 日消息,據(jù)騰訊開源公眾號消息,騰訊今日宣布開源旗下 tRPC 框架,這是一款在架構(gòu)設(shè)計上采用插件化設(shè)計思想的 RPC 開發(fā)框架,號稱具有“多語言、高性能”的特點,首批開源支持 Go / Cpp 兩種編程語言,感興趣的小伙伴可以在這里訪問 GitHub 項目頁。
據(jù)介紹,tRPC 總體架構(gòu)由“框架”和“插件”兩部分組成,將核心功能抽象封裝成一個個獨立的插件,其中虛線框內(nèi)為 tRPC,中間的紅色實線框為框架,藍色實線框為插件部分。
▲ 圖源 騰訊
該框架號稱“通過對底層通信的封裝提供 RPC 的調(diào)用方式,從而可以輕松地進行分布式應(yīng)用開發(fā)”,其基于插件化的架構(gòu)能支持多種業(yè)務(wù)通信協(xié)議,據(jù)稱可以“靈活對接各種微服務(wù)治理平臺,幫助業(yè)務(wù)快速構(gòu)建所需的微服務(wù)體系”。
此外騰訊表示,tRPC 框架還設(shè)計了 admin 管理接口,便于用戶或者運營平臺可以通過調(diào)用 admin 接口對服務(wù)進行管理。
IT之家發(fā)現(xiàn),騰訊將 tRPC 框架的特色歸納如下:
- 跨語言:基于 Protocol Buffers 來實現(xiàn)跨語言的服務(wù)通信。
- 多通信協(xié)議:支持多種通信協(xié)議,方便與不同框架進行互通(比如 gRPC)。
- 支持流式 RPC:更好地適用于大文件上傳 / 下載、消息 Push、AI 類語音識別 / 視頻理解等多種應(yīng)用場景。
- 豐富插件生態(tài):提供大量對接業(yè)界微服務(wù)組件的插件(比如 Consul / Promethues / Opentelemetry 等),方便用戶構(gòu)建適合自己的服務(wù)治理體系。
- 可擴展:基于框架插件化的設(shè)計,用戶可以進行二次開發(fā)來擴展框架能力,比如:RPC 請求參數(shù)校驗、鑒權(quán)、請求錄制等。
- 流控和過載保護:提供多種應(yīng)用場景下的流量控制和過載保護插件,防止服務(wù)因為訪問突增造成過載而不可用。