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

Add cluster access API, reassignment #1538

Merged
merged 3 commits into from
Feb 9, 2022
Merged

Conversation

Tratcher
Copy link
Member

@Tratcher Tratcher commented Jan 28, 2022

Contributes to #126 (comment)

This provides the minimal infrastructure necessary to build your own A/B testing or rolling upgrade system.
A) You can now directly look up routes and clusters
B) You can re-assign a request to a new cluster

That should allow a developer to provide their own custom middleware that examines requests, chooses a cluster, and assigns the request accordingly.

Note: Changing the cluster can cause some issues with Session Affinity if the two clusters have different affinity configurations, especially if it's enabled in one and disabled in the other. I've left this as a warning for now, not sure if anyone will need different settings across A/B clusters.

Copy link
Contributor

@samsp-msft samsp-msft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Tratcher Tratcher self-assigned this Feb 5, 2022
@Tratcher Tratcher added this to the YARP 1.1.0 milestone Feb 5, 2022
@Tratcher Tratcher marked this pull request as ready for review February 5, 2022 01:00
src/ReverseProxy/Management/ProxyConfigManager.cs Outdated Show resolved Hide resolved
docs/docfx/articles/ab-testing.md Show resolved Hide resolved
docs/docfx/articles/toc.yml Outdated Show resolved Hide resolved
docs/docfx/articles/ab-testing.md Outdated Show resolved Hide resolved
@Tratcher
Copy link
Member Author

Tratcher commented Feb 9, 2022

I was really hoping one of you would call me out on the terrible name of IProxyStateLookup 😆. Still hoping to find a better name.

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

Successfully merging this pull request may close these issues.

None yet

4 participants