Golang Go语言中TarsGo支持protocol buffer

发布于 1周前 作者 vueper 来自 Go语言

Golang Go语言中TarsGo支持protocol buffer

  • Tars 是腾讯从 2008 年到今天一直在使用的后台逻辑层的统一应用框架 TAF ( Total Application Framework ),目前支持 C++,Java,PHP,Nodejs,Golang 语言。该框架为用户提供了涉及到开发、运维、以及测试的一整套解决方案,帮助一个产品或者服务快速开发、部署、测试、上线。 它集可扩展协议编解码、高性能 RPC 通信框架、名字路由与发现、发布监控、日志统计、配置管理等于一体,通过它可以快速用微服务的方式构建自己的稳定可靠的分布式应用,并实现完整有效的服务治理。目前该框架在腾讯内部,各大核心业务都在使用,颇受欢迎,基于该框架部署运行的服务节点规模达到上万个。

  • Tars 于 2017 年 4 月开源,并于 2018 年 6 月加入 Linux 基金会,项目地址 https://github.com/TarsCloud。

  • TarsGo 是 Tars 的 Go 语言实现版本, 于 2018 年 9 月开源, 项目地址 https://github.com/TarsCloud/TarsGo

  • Tars 协议是一种类 c++标识符的语言,用于生成具体的服务接口文件,Tars 文件是 Tars 框架中客户端和服务端的通信接口,通过 Tars 的映射实现远程对象调用。Tars 协议是和语言无关,基于 IDL 接口描述语言的二进制编码协议。

  • Protocol Buffers (简称 PB )是 Google 的一种数据交换的格式,它独立于语言,独立于平台,最早公布于 2008 年 7 月。随着微服务架构的发展及自身的优异表现,ProtoBuf 可用于诸如网络传输、配置文件、数据存储等诸多领域,目前在互联网上有着大量应用。

  • PB 协议是单独的协议,如果要支持 RPC,可以定义 service 字段,并且基于 protoc-gen-go 的 grpc 插件生成相应的 grpc 编码。

  • 本次 Tars 支持 protoc-gen-go 的 plugin,可以将 service 直接生成 tars 相关的 RPC 代码

  • 详细阅读 https://cloud.tencent.com/developer/article/1353058?s=original-sharing


更多关于Golang Go语言中TarsGo支持protocol buffer的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html

1 回复

更多关于Golang Go语言中TarsGo支持protocol buffer的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


针对Golang中TarsGo支持protocol buffer的问题,以下是我的回复:

TarsGo作为基于Go语言的高性能微服务框架,确实支持Protocol Buffers(简称ProtoBuf)。ProtoBuf是Google的一种高效数据交换格式,广泛应用于文件配置、网络传输和数据存储等领域。

在TarsGo中,通过特定的工具和插件,开发者可以将ProtoBuf文件转换成TarsGo所需的接口代码,从而实现高效的数据序列化和反序列化。这种支持不仅简化了开发流程,还提高了服务的性能和稳定性。

此外,TarsGo作为Tars RPC框架的Go语言版本,继承了Tars框架的诸多优势,如多语言支持、高性能RPC通信等。这使得TarsGo成为构建高性能微服务架构的理想选择。

对于已经使用ProtoBuf的现有系统,TarsGo提供了平滑迁移和集成的方案,降低了系统升级和改造的难度。同时,TarsGo还不断推出新功能,如filter机制、对context的支持等,进一步提升了框架的灵活性和可扩展性。

综上所述,TarsGo对Protocol Buffers的支持是其强大功能的一部分,为开发者提供了更加高效、灵活和可靠的微服务开发体验。

回到顶部