存档

  • Thrift 学习笔记 (2)

    Google 开发的 Protobuf 会经常被拿来和 Thrift 比较,不过 Protobuf 主要提供序列化/反序列化的功能,而 Thrift 还提供了几个 server 模型,加上可以自动生成代码,大大简化了 RPC 的开发。

    TSimpleServer

    上一篇笔记 的 echo server 为例,一个使用 TSimpleServer 的服务端如下:

    // This autogenerated skeleton file illustrates how to build a server.
    // You should copy it to 

    阅读全文…

    2013年12月14日 | 归档: thrift | 标签:
  • Thrift 学习笔记 (1)

    Thrift 是 Facebook 开发的一个二进制通信协议,现在托管在 Apache 基金会。它使用一种自定义的接口描述语言描述使用的数据结构和接口,通过编译可以生成各种语言的接口,如 c++,python,php 等。由于支持生成多种语言,Thrift 可以作为多种语言之间的通信接口,更详细的介绍见参考资料 [1]。

    这里使用的 Thrift版本是 0.8.0。

    一个简单的echo server

    首先编写对应的数据结构和接口描述文件:

    namespace cpp Test
    
    service EchoServer {
        string echo(1: string msg);
    }
    

    使用下面的命令生成对应的 c++ 接口文件:

    thrift --gen cpp echoapi.thrift
    

    默认会生成一个“gen-cpp”的文件夹,里面包含下列文件:

    echoapi_constants.cpp echoapi_constants.h echoapi_types.cpp echoapi_types.h EchoServer.cpp 

    阅读全文…

    2013年11月19日 | 归档: thrift | 标签:
文章标签 ‘thrift’