01 2018 档案
摘要:Client Thrift客户端有两种:同步客户端和异步客户端。 同步客户端 同步客户端比较简单,以RPC-Thrift(一)中的的例子为基础进行研究源码,先看一下类图。 TServiceClient:用于以同步方式与TService进行通信; Iface接口和Client类都是通过Thrift文件
阅读全文
摘要:TProtocol TProtocol定义了消息怎么进行序列化和反序列化的。 TProtocol的类结构图如下: TBinaryProtocol:二进制编码格式; TCompactProtocol:高效率,密集的二进制编码格式,使用了zigzag压缩算法,使用了类似于ProtocolBuffer的V
阅读全文
摘要:TTransport TTransport负责数据的传输,先看类结构图。 阻塞Server使用TServerSocket,它封装了ServerSocket实例,ServerSocket实例监听到客户端的请求会创建一个Socket对象,并将该Socket对象封装为一个TSocket对象用于通信。 非阻
阅读全文
摘要:一个简单例子 IDL文件如下,详细的IDL语法参考官方文档http://thrift.apache.org/docs/idl。 通过代码生成工具得到两个文件:HelloService.java和ResultCommon.java。 Thrift业务HelloService.Iface接口的实现如下
阅读全文
摘要:RPC概述 RPC(Remote Procedure Call),即远程过程调用,是一种通过网络从远程计算机程序上请求服务而不需要了解底层网络技术的协议,实现调用远程主机上的方法就像调用本地方法一样。RPC协议在分布式系统中发挥重要的作用。 RPC涉及的技术 图片摘自http://blog.csdn
阅读全文