前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >开源公告|tRPC-多语言插件化高性能的RPC开发框架

开源公告|tRPC-多语言插件化高性能的RPC开发框架

作者头像
腾讯开源
发布2023-10-23 11:47:31
6300
发布2023-10-23 11:47:31
举报

1、项目简介

tRPC是基于插件化理念设计的一款支持多语言、高性能的RPC开发框架,在腾讯内部得到广泛的应用。通过对底层通信的封装提供RPC的调用方式,可以轻松的进行分布式应用开发;基于插件化的架构能支持多种业务通信协议,灵活对接各种微服务治理平台,帮助业务快速构建所需的微服务体系。

首批开源支持Go/Cpp两种编程语言,未来会开源更多编程语言的支持。

2、架构设计

tRPC在架构设计上采用插件化设计思想,总体架构由 "框架" 和 "插件" 两部分组成, 其中虚线框内为tRPC,中间的红色实线框为框架,蓝色实线框为插件部分。tRPC将核心功能抽象封装成一个个独立的插件,然后由框架来负责这些独立插件的串联和拼装,从而实现框架所要支持的功能特性,通过这种设计使tRPC具备很强的开放性和可扩展性。此外框架还设计了admin管理接口,方便用户或者运营平台可以通过调用admin接口对服务进行管理。

3、主要特点

● 跨语言:基于Protocol Buffers来实现跨语言的服务通信。

● 多通信协议:支持多种通信协议,方便与不同框架进行互通(比如gRPC)。

● 支持流式RPC:更好地适用于大文件上传/下载、消息Push、AI类语音识别/视频理解等多种应用场景。

● 丰富插件生态:提供大量对接业界微服务组件的插件(比如Consul/Promethues/Opentelemetry等),方便用户构建适合自己的服务治理体系。

● 可扩展:基于框架插件化的设计,用户可以进行二次开发来扩展框架能力,比如:RPC请求参数校验、鉴权、请求录制等。

● 流控和过载保护:提供多种应用场景下的流量控制和过载保护插件,防止服务因为访问突增造成过载而不可用。

4、项目规划

● 开源更多编程语言:Java、Python、Node

● 丰富生态,开源更多云原生相关的插件和组建

5、项目地址

● 项目官方网站:

https://trpc.group/

● Github主仓库:

https://github.com/trpc-group

● Github插件仓库:

https://github.com/trpc-ecosystem

请给项目 一个 Star !

欢迎提出你的 issue 和 PR!

关注腾讯开源公众号

获取更多最新腾讯官方开源信息!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-10-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯开源 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
语音识别
腾讯云语音识别(Automatic Speech Recognition,ASR)是将语音转化成文字的PaaS产品,为企业提供精准而极具性价比的识别服务。被微信、王者荣耀、腾讯视频等大量业务使用,适用于录音质检、会议实时转写、语音输入法等多个场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档