相关疑难解决方法(0)

与Netty和NIO高度并发的HTTP

我正在使用示例Netty HTTP客户端代码,以便在并发的线程环境中发出http请求.

但是,我的系统在相当低的吞吐量下完全中断(有一些例外).

在几乎伪代码中:

ClientBootstrap bootstrap = new ClientBootstrap(new NioClientSocketChannelFactory()) 
bootstrap.setPipelineFactory(new HttpClientPipelineFactory());

ChannelFuture future = bootstrap.connect(new InetSocketAddress(host, port));
Channel channel = future.awaitUninterruptibly().getChannel();

HttpRequest request = new DefaultHttpRequest();
channel.write(request);
Run Code Online (Sandbox Code Playgroud)

在示例中,为了发出请求,我创建了一个ClientBootstrap,并从那里(通过一些箍)一个Channel来编写HTTPRequest.

这一切都有效,也很好.

但是,在同时发生的情况下,每个请求是否应该通过相同的环节?我认为这对我来说正在破坏的是什么.我应该以完全不同的方式重用连接或构建我的客户端吗?

另外:我在Clojure中这样做,如果这有任何区别的话.

java concurrency http clojure netty

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

clojure ×1

concurrency ×1

http ×1

java ×1

netty ×1