如题,我想使用thrift rpc函数,同时用protobuf进行序列化,有没有项目做到了? 我不想使用 thrift 序列化的原因是在我查看生成的 cpp 文件后,我发现它没有 _in_place 函数,这意味着它必须复制构造每个成员,而对于我的情况,我拥有所有char* 等已经分配在其他地方。
最佳答案
唯一的方法是声明一个包含大字节 blob 的 Thrift 消息,然后将其解析为 Protobuf。但是,这需要额外的副本,这违背了您的目的。
请注意,Google 刚刚发布了 GRPC ,Protobufs 的 RPC 协议(protocol)。如果您正在开始一个新项目并且想要使用 Protobuf RPC,请使用它。
您可能还对 Cap'n Proto 感兴趣,一个专门用于避免复制的序列化和 RPC 系统。
(声明:我是 Cap'n Proto 以及 Google 大部分开源 Protobuf 代码的作者,但我与 GRPC 无关。)
关于protocol-buffers - 我可以将 thrift rpc 与 protobuf 一起使用吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28871346/