是否可以在没有RPC的情况下使用Apache Thrift?

时间:2014-03-24 18:13:02

标签: protocol-buffers thrift

我在互联网上搜索但是找不到任何有用的东西。首先,我正在考虑使用Protocol Buffers,但它没有提供内置功能来跟踪多条消息(一条消息完成和第二条消息开始)或消息自我分隔,但我在Thrift白皮书中读到了这个功能,它对我来说似乎很好现在我想使用Thrift而不是Protocol Buffers。

我正在研究自定义协议,因为我不需要RPC,有人可以建议我是否可以在没有RPC的情况下使用Thrift(如在协议缓冲区中,只需使用流函数),并且有些起点为节俭文件有点麻烦。

谢谢!

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

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

var data = InitializeMyDataStructure(...);

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

data.write(prot);

传输和协议都是可插拔的,因此您可以自由使用JSON和流来使用自己的协议,以及(例如)文件传输。或者其他任何组合对您的用例都有意义,并且支持您的目标语言。

  

因为节俭文件有点麻烦。

您可以随意提出任何问题,无论是在这里还是在邮件列表中。此外,我们有一个很好的教程,测试服务器/客户端对也是典型用例的好例子。