-
Notifications
You must be signed in to change notification settings - Fork 154
Add Session Persistence support for NGINX OSS and Plus users #4471
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
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #4471 +/- ##
==========================================
+ Coverage 86.25% 86.36% +0.11%
==========================================
Files 132 132
Lines 14560 14849 +289
Branches 35 35
==========================================
+ Hits 12558 12824 +266
- Misses 1790 1806 +16
- Partials 212 219 +7 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
Can you make the release note a bit more descriptive. It's okay if it's a few sentences. I'd like to be clear about what we support for each OSS and Plus. |
|
Do you also mind updating the PR description (and commit message) to also add some more detail on the two features that are added as part of this (LB methods and sessionPersistence support). |
…4251) Problem: Users want to specify load balancing method via Upstream Settings Policy API Solution: Extend Upstream settings policy API to support load balancing method field.
Problem: Users want to specify all load balancing methods. Solution: Specify a way for user to be able to specify all combinations of load balancing methods.
…y cookie` directive (#4305) Problem: Users want to be able to specify session persistence for their upstreams. Solution: Add support for session persistence using sticky cookie directives which is only available for NGINX Plus users.
Add functional tests for session persistence OSS and Plus
58ff566 to
0f2ed98
Compare
Proposed changes
Write a clear and concise description that helps reviewers understand the purpose and impact of your changes. Use the
following format:
Problem: Users need session persistence (“sticky sessions”) so traffic from the same client consistently routes to the same upstream instance for stateful apps.
Solution: Adds two types of session persistence: IP-based persistence by allowing users to set the
ip_hashload-balancing method via the Upstream Settings Policy, and cookie-based persistence by adding support forsessionPersistenceconfiguration at the Route level to enable sticky sessions using asticky cookie. Cookie-based persistence is available only to NGINX Plus users and is supported in experimental mode. Additionally, the PR expands load-balancing support to include all methods available in both NGINX OSS and NGINX Plus.Testing: Ensure pipeline succeeds. Functional test added.
Please focus on (optional): If you any specific areas where you would like reviewers to focus their attention or provide
specific feedback, add them here.
Closes #2676
Checklist
Before creating a PR, run through this checklist and mark each as complete.
Release notes
If this PR introduces a change that affects users and needs to be mentioned in the release notes,
please add a brief note that summarizes the change.