Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Experiment Concurrent Pools in HTTP/2 Connection Pool #2986

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

pderop
Copy link
Member

@pderop pderop commented Nov 26, 2023

This draft PR experiments the concurrent pools feature (work in progress) from reactor/reactor-pool#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 pderop added the type/enhancement A general enhancement label Nov 26, 2023
@pderop pderop self-assigned this Nov 26, 2023
@pderop pderop marked this pull request as draft November 26, 2023 20:49
@pderop
Copy link
Member Author

pderop commented Jan 11, 2024

Updated the PR, work still in progress.

@pderop
Copy link
Member Author

pderop commented Jan 17, 2024

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/enhancement A general enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant