服务器端代码和客户端代码 原理详解:(用到的API)
Netty学习——服务器端代码和客户端代码 原理详解-LMLPHP

0.Socket 连接服务器端的套接字

1.TcompactProtocol   协议层
2.TFrameTransport   传输层
3.THshaServer: 半同步半不同步server
压缩算法
Netty学习——服务器端代码和客户端代码 原理详解-LMLPHP

server类型的选择有5种

Netty学习——服务器端代码和客户端代码 原理详解-LMLPHP

但是,客户端和服务器端的server类型的选择,必须对应上

另外,协议类型也得统一
如都用 TcompactProtocol 协议层的 压缩格式,在下面的底层架构介绍会有传输格式的介绍
compact:紧凑的。

Thrift架构
Netty学习——服务器端代码和客户端代码 原理详解-LMLPHP

TProtocol: T代表Thrift, TProtocol代表使用什么协议 (如使用JSON,或者XML)

TTransport:传输协议
Underlying I/O : 实际的底层的传输IO
客户端和服务器端的协议相匹配
客户端使用Client对象
服务器端使用Processor对象

这个架构就是Thrift的标准架构,
而又是一般的RPC共同遵守的架构

Netty学习——服务器端代码和客户端代码 原理详解-LMLPHP

Netty学习——服务器端代码和客户端代码 原理详解-LMLPHP

Netty学习——服务器端代码和客户端代码 原理详解-LMLPHP

上面的三种介绍分别对应咱们代码中的 Protocol,Socket 和 Tserver

Netty学习——服务器端代码和客户端代码 原理详解-LMLPHP

05-11 16:03