有使用Thrift开发Service服务的吗,有什么要注意的
1个回答
展开全部
thrift我们使用0.8.0一年多了,为发现丢数据的情况,只是在服务端处理太慢时有连接超时,连接超时时间是可以在程序启动时设置的。
如果在正式环境中使用thrift的TSocket的话,最好搞一个TSocket的连接池
我使用的是 0.9 版本 ,我看里面提供了一个TThreadedSelectorServer 。我是这样写的:
?
1
2
3
4
5
6
7
8
9
TProcessor processor = new IStatistics.Processor<IStatistics.Iface>(new StatisticsHandler());
TNonblockingServerTransport serverTransport = new TNonblockingServerSocket(7911);
TCompactProtocol.Factory profactory = new TCompactProtocol.Factory();
org.apache.thrift.server.TThreadedSelectorServer.Args tArgs = new org.apache.thrift.server.TThreadedSelectorServer.Args(serverTransport);
tArgs.processor(processor);
tArgs.protocolFactory(profactory);
TServer server = new TThreadedSelectorServer(tArgs);
System.out.println("Starting the server...");
server.serve();
如果在正式环境中使用thrift的TSocket的话,最好搞一个TSocket的连接池
我使用的是 0.9 版本 ,我看里面提供了一个TThreadedSelectorServer 。我是这样写的:
?
1
2
3
4
5
6
7
8
9
TProcessor processor = new IStatistics.Processor<IStatistics.Iface>(new StatisticsHandler());
TNonblockingServerTransport serverTransport = new TNonblockingServerSocket(7911);
TCompactProtocol.Factory profactory = new TCompactProtocol.Factory();
org.apache.thrift.server.TThreadedSelectorServer.Args tArgs = new org.apache.thrift.server.TThreadedSelectorServer.Args(serverTransport);
tArgs.processor(processor);
tArgs.protocolFactory(profactory);
TServer server = new TThreadedSelectorServer(tArgs);
System.out.println("Starting the server...");
server.serve();
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询