专栏名称: 腾讯开源
腾讯官方开源动态、开发经验分享
目录
相关文章推荐
木木说卡  ·  王炸来了,万豪有大毛! ·  昨天  
木木说卡  ·  年度活动!买二免二来了 ·  2 天前  
每日豆瓣  ·  世界上最会水培郁金香的人出现啦!!! ·  2 天前  
每日经济新闻  ·  刘永好,退出新希望董事会!其80后女儿早已接 ... ·  2 天前  
51好读  ›  专栏  ›  腾讯开源

重磅!腾讯与科大讯飞技术共创,Google ProtoBuf进入TARS家族!

腾讯开源  · 公众号  ·  · 2017-11-16 09:42

正文

引言:TARS框架及自有TARS协议在腾讯内部始于2007年。Google Protocol Buffers于2008年7月对外公布。随着微服务架构的发展及ProtoBuf的优异表现,目前在互联网上有着大量应用。此次腾讯与科大讯飞进行深度技术合作,将ProtoBuf与TARS自身的编解码协议进行集成,并于今天将TARS-PB正式对外开源!

(TARS-PB发布)

protocol buffer

protocol buffer(简称PB)是google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了多种语言的实现:java、c#、c++、go 和 python,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 xml 进行数据交换快许多。可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换。作为一种效率和兼容性都很优秀的二进制数据传输格式,可以用于诸如网络传输、配置文件、数据存储等诸多领域。


正因为PB有着如此优异的表现,目前PB在移动互联网行业有着大量的应用。 在Tars-PB发布之后,已经使用PB作为内部数据交换协议的用户可以更方便地对Tars进行集成。


Tars-PB解决方案

下图是Tars的服务端与客户端的实现架构图:

通过对Tars ServantImp和ServantProxy的扩展,以及增加相应的protobuf codec实现了PB对Tars的支持。

对象生成

为了减少对PB序列化和反序列化的侵入,对对象仍然采用PB原生的生成方式。

Service生成

接口代码的生成为了保持tars的整体风格按照tars的方式进行生成。







请到「今天看啥」查看全文