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