首页 文章

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

提问于
浏览
4

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

我正在研究自定义协议,因为我不需要RPC,有人建议如果我可以使用没有RPC的Thrift(因为它在协议缓冲区中,只需使用流函数)和一些起点作为节约文档有点繁琐 .

谢谢!

2 回答

  • 2

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

  • 2

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

    var data = InitializeMyDataStructure(...);
    
    var trans = new TStreamTransport(...);
    var prot = new TJSONProtocol(trans);
    
    data.write(prot);
    

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

    因为节俭文件有点麻烦 .

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

相关问题