【1】thirft 简介 【2】Thrift 与Dubbo 的区别
【1】thirft 简介
Thrift是一种接口描述语言和二进制通讯协议: 1.它被用来定义和创建跨语言的服务。 2.它被当作一个远程过程调用(RPC)框架来使用,是由Facebook为“大规模跨语言服务开发”而开发的。 ###Thrift 协议栈 Thrift是一种c/s的架构体系。Server主要任务是高效的接受客户端请求,并将请求转发给Processor处理,最上层是用户自行实现的业务逻辑代码; Processor是由thrift编译器自动生成的代码,它封装了从输入数据流中读数据和向数据流中写数据的操作,它的主要工作是:从连接中读取数据,把处理交给用户实现impl,最后把结果写到连接上。 TProtocol(协议层),定义数据传输格式,例如: TBinaryProtocol:二进制格式; TCompactProtocol:压缩格式; TJSONProtocol:JSON格式; TSimpleJSONProtocol:提供JSON只写协议, 生成的文件很容易通过脚本语言解析; TDebugProtocol:使用易懂的可读的文本格式,以便于debug TTransport(传输层),定义数据传输方式,可以为TCP/IP传输,内存共享或者文件共享等。 TSocket:阻塞式socker; TFramedTransport:以frame为单位进行传输,非阻塞式服务中使用;