RPC(Remote Procedure Call Protocol)远程过程调用协议。该协议允许运行于一台计算机上的程序调用另一台计算机上的子程序,而程序员无需为这个额外的交互过程编程。
thrift是众多rpc框架中的一个。本文主要介绍下thrift。
thrift的结构
|
|
传输层
传输层提供了一个从网络上读写的简单抽象。有两个接口Transport和ServerTransport。
|
|
协议层
协议层定义了内存数据结构映射为线性结构的机制。简单的说就是将内存里的数据转换成可以在传输层收发的格式。比如json、xml、plain text、compact binary等
|
|
处理器层
特定的服务实现特定的处理器123interface TProcessor { bool process(TProtocol in, TProtocol out) throws TException}
服务器层
服务器层负责将所有功能组装起来
- 创建一个传输层
- 为传输层创建输入/输出协议
- 基于协议创建一个处理器
- 等待一个连接,然后将连接分发到处理器
实现
py
|
|