reactor-netty icon indicating copy to clipboard operation
reactor-netty copied to clipboard

Experiment Concurrent Pools in HTTP/2 Connection Pool

Open pderop opened this issue 2 years ago • 5 comments

This draft PR experiments the concurrent pools feature (work in progress) from https://github.com/reactor/reactor-pool/pull/179 applied to Reactor Netty HTTP/2 Connection Pool.

For the moment, workStealing mode can only be configured for HTTP/2 HttpClient via a new enableWorkStealing method added in Http2AllocationStrategy interface.

So, basically, when an HttpClient is configured with work stealing mode, sub pools (Http2Pool instances) will be created and assigned to each HttpClient's Event Loops, and HTTP2 Connection acquisition tasks will be distributed across all sub pools.

This benchmarks projects can be used to experiment the new client. See the README for the details.

This work is still in progress. Ideally, this PR could be merged into a temporary reactor-netty branch for easier finalization. To be confirmed by the Reactor Netty team.

pderop avatar Nov 26 '23 20:11 pderop

Updated the PR, work still in progress.

pderop avatar Jan 11 '24 11:01 pderop

rebased on top of latest reactor-netty version in order to pick up #3030

pderop avatar Jan 17 '24 11:01 pderop

Rebased with latest main branch.

pderop avatar May 15 '24 10:05 pderop

rebased on top of latest main.

pderop avatar Jun 06 '24 17:06 pderop

maybe this draft PR will be removed at some point. in the meantime, just rebased this PR on top of latest branch.

pderop avatar Jul 12 '24 20:07 pderop