2014-03-24 164 views
4

我在网上搜索,但找不到任何有用的东西。首先,我在考虑使用协议缓冲区,但它没有提供内置的功能来跟踪多个消息(一个消息完成和第二次启动)或消息自定义,但我在Thrift白皮书中阅读了此功能,看起来不错对我来说。现在我正在考虑使用Thrift而不是Protocol Buffers。是否可以在没有RPC的情况下使用Apache Thrift?

我正在为自定义协议工作,因为我不需要RPC,有人会建议如果我可以使用Thrift而不使用RPC(因为它在协议缓冲区中,只需使用流功能)和一些起点作为节俭文档有点麻烦。

谢谢!

+0

是的,这是可能的。类似的答案给出为[这里] [1] [1]:http://stackoverflow.com/questions/12328896/thrift-is-it-possible-to-do-only-serialization-with -C-节俭库 – user3369727

回答

2

是的,这是可能的。给出类似的答案Here。 Apache thrift可以在没有RPC的情况下使用,您可以简单地使用与文档中定义的传输层和协议层相关的库。

2

Apache Thrift确实是一个RPC和序列化框架。序列化部分用作RPC机制的一部分,但可以单独使用。对于各种语言,可以提供样本和/或支持帮助类。如果这不是你的特定语言的情况下,必要的代码几乎可以归结到这(伪代码):

var data = InitializeMyDataStructure(...); 

var trans = new TStreamTransport(...); 
var prot = new TJSONProtocol(trans); 

data.write(prot); 

两个运输(S)和协议是可插入的,所以不是JSON,你是一个流自由使用您自己的协议,以及(例如)文件传输。或者其他任何组合都适合您的用例,并且支持您的目标语言。

作为节俭文档有点麻烦。

您可以自由询问任何问题,无论是在这里还是在邮件列表中。此外,我们有一个很好的教程,Test server/client对也是典型用例的很好例子。

相关问题