Thrift是一个跨语言序列化/RPC框架,包含三个组件:protocol, transport, server
Protocol实现:(序列化反序列化消息)
1, TBinaryProtocol
2, TCompactProtocol
使用了ZigZag压缩算法
3, TJSONProtocol
Transport实现:(传输消息)
1, TSocket
阻塞型Socket,用于客户端
2, TServerSocket
非阻塞型Socket,用于服务端,接收的Socket类型都是TSocket
3, TBufferedTransport和TFramedTransport
都有缓存,后者以frame为单位传输,非阻塞式服务中使用
5, TFileTransport
以文件为单位传输
Server实现:(服务器)
1, TSimpleServer
单线程,阻塞式IO
2, TNonblockingServer
一个线程使用java.nio.channels.Selector处理所有消息,非阻塞式IO
3, THsHaServer
单线程处理网络IO,独立worker线程池处理消息,可以并行处理多个消息。
4, TThreadedSelectorServer
多线程(一个线程池处理网络IO,一个线程池处理消息),阻塞式IO,每个请求创建一个线程
5, TThreadPoolServer
多线程(一个专有线程接受连接,每个接受的连接从线程池里取出worker线程处理,处理完worker线程回到线程池),阻塞式IO,预先创建一组线程处理请求
http://blog.csdn.net/azhao_dn/article/details/8898610
5017




被折叠的 条评论
为什么被折叠?



