據(jù)介紹,tRPC 總體架構(gòu)由“框架”和“插件”兩部分組成,將核心功能抽象封裝成一個(gè)個(gè)獨(dú)立的插件,其中虛線框內(nèi)為 tRPC,中間的紅色實(shí)線框?yàn)榭蚣埽{(lán)色實(shí)線框?yàn)椴寮糠帧?/p>
圖片來自網(wǎng)絡(luò)/侵刪
該框架號稱“通過對底層通信的封裝提供 RPC 的調(diào)用方式,從而可以輕松地進(jìn)行分布式應(yīng)用開發(fā)”,其基于插件化的架構(gòu)能支持多種業(yè)務(wù)通信協(xié)議,據(jù)稱可以“靈活對接各種微服務(wù)治理平臺(tái),幫助業(yè)務(wù)快速構(gòu)建所需的微服務(wù)體系”。
此外騰訊表示,tRPC 框架還設(shè)計(jì)了 admin 管理接口,便于用戶或者運(yùn)營平臺(tái)可以通過調(diào)用 admin 接口對服務(wù)進(jìn)行管理。
發(fā)現(xiàn),騰訊將 tRPC 框架的特色歸納如下:
跨語言:基于 Protocol Buffers 來實(shí)現(xiàn)跨語言的服務(wù)通信。
多通信協(xié)議:支持多種通信協(xié)議,方便與不同框架進(jìn)行互通(比如 gRPC)。
支持流式 RPC:更好地適用于大文件上傳 / 下載、消息 Push、AI 類語音識別 / 視頻理解等多種應(yīng)用場景。
豐富插件生態(tài):提供大量對接業(yè)界微服務(wù)組件的插件(比如 Consul / Promethues / Opentelemetry 等),方便用戶構(gòu)建適合自己的服務(wù)治理體系。
可擴(kuò)展:基于框架插件化的設(shè)計(jì),用戶可以進(jìn)行二次開發(fā)來擴(kuò)展框架能力,比如:RPC 請求參數(shù)校驗(yàn)、鑒權(quán)、請求錄制等。
流控和過載保護(hù):提供多種應(yīng)用場景下的流量控制和過載保護(hù)插件,防止服務(wù)因?yàn)樵L問突增造成過載而不可用。