对于反应堆网络中的每个请求,都会打开新的tcp连接

时间:2019-11-30 06:56:01

标签: spring-webflux reactor-netty

我正在尝试使用react-netty实现简单的HTTP客户端。但这并没有像我期望的那样。有代码

        ConnectionProvider connectionProvider = ConnectionProvider.fixed("my-connection-pool", 5);
        HttpClient httpClient = HttpClient
                .create(connectionProvider)
                .tcpConfiguration(it -> it.host("localhost"))
                .port(8080)
                .keepAlive(true);

        Flux<HttpClientResponse> responseFlux = Flux.fromStream(IntStream.range(0, 1000).boxed())
                .flatMap(key -> httpClient
                        .get()
                        .uri("/" + key)
                        .response()
                );
        responseFlux.blockLast();

我希望仅使用5个TCP连接。但是netstat会在程序完成后报告TIME_WAIT状态下的1000个连接。

$ netstat -tn | grep 8080 | head -1
tcp6       0      0 127.0.0.1:33708         127.0.0.1:8080          TIME_WAIT
$ netstat -tn | grep 8080 | wc -l
1000

我错过了什么吗?请帮助我。

0 个答案:

没有答案