Thrft
thrift 概念
thrift 架构
Thrift 的架构图如下
Transport 层位于最底部,用户传输字节数据。
Transport 层提供的接口如下:
Transport 层可以由多个 TTransport 类组合起来,每个 TTransport 提供不同的功能。处于 TTransport 组合层次最下方,和设备(网络,磁盘,内存)直接打交道的 TTransport 类称为 Endpoint transports。例如 TSocket
,它使用 Socket API 在 TCP/IP 网络上传输数据。
TFramedTransport
有两个作用:
- 分帧,它在每个消息的头部加了四字节的长度,让接受者能够准确地得知消息的大小,并申请合适的 buffer
- 缓存。当
flush
方法调用的时候,缓存的数据才会写入下一层 Transport
当不需要分帧,仅需要缓存的时候,可以使用 TBufferedTransport
。某些语言在 Endpoint Transport 中內建了缓存机制,就没有提供 TBufferedTransport
类。
参考链接
2022年11月15日 / 12:40