Thrift采用了TServer来作为服务器的抽象,提供了多种类型的服务器实现。用TServerTransport作为服务器的Acceptor抽象,来监听端口,创建客户端Socket连接
先来看看TServerTransport。主要有两类
1. TNonblockingServerTransport和TNonblockingServerSocket作为非阻塞IO的Acceptor,封装了ServerSocketChannel
2. TServerSocket作为阻塞同步IO的Acceptor,封装了ServerSocket
public class TNonblockingServerSocket extends TNonblockingServerTransport {
private ServerSocketChannel serverSocketChannel = null;
}
protected TNonblockingSocket acceptImpl() throws TTransportException {
if (serverSocket_ == null) {
throw new TTransportException(TTransportException.NOT_OPEN, "No underlying server socket.");
}
try {
SocketChannel socketChannel = serverSocketChannel.accept(

本文分析了Thrift服务器的性能,引用了一篇关于Thrift Java服务器对比的文章,结论指出TThreadSelectorServer在吞吐量和响应时间上表现出色。
最低0.47元/天 解锁文章
1万+

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



