参考:
1 Thrift RPC 框架指南
1.1 认识Thrift框架
thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发。它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml 这些编程语言间无缝结合的、高效的服务。
- thrift最初由facebook开发,07年四月开放源码,08年5月进入apache孵化器。
- thrift允许定义一个简单的定义文件中的数据类型和服务接口,以作为输入文件,编译器生成代码用来方便地生成RPC客户端和服务器通信的无缝跨编程语言。
- 类似Thrift的工具,还有Avro、protocol buffer,但相对于Thrift来讲,都没有Thrift支持全面和使用广泛。
1.2 Thrift自下到上可以分为4层
Server(single-threaded, event-driven etc)
服务器进程调度
Processor(compiler generated)
RPC接口处理函数分发,IDL定义接口的实现将挂接到这里面
Protocol (JSON, compact etc)