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

NGINX Plus: Runtime State Sharing #2674

Open
mpstefan opened this issue Oct 10, 2024 · 0 comments
Open

NGINX Plus: Runtime State Sharing #2674

mpstefan opened this issue Oct 10, 2024 · 0 comments
Labels
area/nginx-configuration Relates to nginx configuration epic Represents an epic. Contains sub-issues
Milestone

Comments

@mpstefan
Copy link
Collaborator

mpstefan commented Oct 10, 2024

As a cluster operator using NGF
I want to share the runtime state of all of my NGF data plane instances
So that a user's session can be consistently directed to the same upstream for their session for my stateful application
And so that rate limits can be tracked of across all data plane instances.

Background

By implementing runtime state sharing, we enable a few key use cases that are critically important for web server applications when the scale of NGF is more than a single pod.

Without state sharing:

  • A user's session cannot be routed to the correct upstream for any stateful application.
  • Any rate limit would be tracked independently for each data plane they happened to hit.
  • OAuth sessions would require the user to log in every time their request hit a different data plane than their last.

While state sharing has it's uses for "backend" REST API traffic, especially around rate limiting, the primary driver of this feature is end users in a web application context.

Not included in this epic:

  • OIDC Support
  • Rate Limits
  • Session Persistence

Acceptance Criteria

  • NGF users are able to configure NGF to share runtime state with all data plane instances for a given Gateway.
@mpstefan mpstefan converted this from a draft issue Oct 10, 2024
@mpstefan mpstefan added the epic Represents an epic. Contains sub-issues label Oct 10, 2024
@mpstefan mpstefan added this to the v2.1.0 milestone Oct 10, 2024
@mpstefan mpstefan added the area/nginx-configuration Relates to nginx configuration label Oct 11, 2024
@mpstefan mpstefan modified the milestones: v2.1.0, v2.2.0 Oct 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/nginx-configuration Relates to nginx configuration epic Represents an epic. Contains sub-issues
Projects
Status: 🆕 New
Development

No branches or pull requests

1 participant