Skip to content

NGINX Plus: Runtime State Sharing #2674

Open
@mpstefan

Description

@mpstefan

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/nginx-configurationRelates to nginx configurationepicRepresents an epic. Contains sub-issues

    Type

    No type

    Projects

    Status

    🆕 New

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions