Protocol buffers 我可以将thrift rpc与protobuf一起使用吗

Protocol buffers 我可以将thrift rpc与protobuf一起使用吗,protocol-buffers,thrift,thrift-protocol,Protocol Buffers,Thrift,Thrift Protocol,作为主题,我想使用thrift rpc函数,而protobuf用于序列化,是否有任何项目已经完成了这项工作? 我不想使用节俭序列化的原因是在查看生成的cpp文件后,我发现它没有_in_place函数,这意味着它必须复制构造每个成员,而对于我的情况,我已经把所有的char*etc都分配到了其他地方。唯一可以这样做的方法是声明一个包含大字节blob的Thrift消息,然后将其解析为Protobuf。但是,这需要额外的副本,这与你的目的背道而驰 请注意,Google刚刚发布了一个用于Protobufs

作为主题,我想使用thrift rpc函数,而protobuf用于序列化,是否有任何项目已经完成了这项工作?
我不想使用节俭序列化的原因是在查看生成的cpp文件后,我发现它没有_in_place函数,这意味着它必须复制构造每个成员,而对于我的情况,我已经把所有的char*etc都分配到了其他地方。

唯一可以这样做的方法是声明一个包含大字节blob的Thrift消息,然后将其解析为Protobuf。但是,这需要额外的副本,这与你的目的背道而驰

请注意,Google刚刚发布了一个用于Protobufs的RPC协议。如果您正在启动一个新项目,并且希望使用Protobuf RPC,请使用它

您可能还对一个专门避免复制的序列化和RPC系统感兴趣


(披露:我是Cap'n Proto的作者,也是谷歌大部分开源Protobuf代码的作者,但我与GRPC无关。)

看看生成的代码,你会很快发现这是一项“不可能”的任务,或者至少任务“听起来像是很多你不想做的工作”。当然,您可以编写自己的Thrift transport,但随后还必须重写代码生成器,以便生成的代码正确处理非Thrift数据对象。可能还有图书馆的其他部分。确保你衡量了所有这些工作的净收益。