Consul Connect Envoy request mirroring
- Dominant language
- Go
- Stars
- 30.1k
- Forks
- 4.6k
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 39
Description
#### Feature Description
I would like to enable Envoy's request mirroring onto listeners (LDS) for silent traffic mirroring between clusters (CDS), while using Connect's XDS provider.
#### Use Case(s)
- green/blue roll-outs with active traffic sent to the opposite group to check for performance regressions
- stream of production traffic to a testing service for rapid development and load testing
#### Note
I am more than willing to PR this myself, I have looked through the Connect XDS codebase a bit but I am not confident on where exactly this code should go. If there are any pointers I will attempt to kick-start a PR on this.
Edit: As a small note "envoy request mirroring" brings up this blog post: https://blog.markvincze.com/shadow-mirroring-with-envoy/ -- from a requirements perspective I want to state that what we need is just about everything that's covered there. We could even cut out the % based traffic and just have "blast service (x) with 100% traffic, go for it."
Contributor guide
Research direction
Start in the Connect XDS codebase, tracing how LDS and CDS are generated and use the linked shadow-mirroring article as the requirements reference. Done means Connect's XDS provider can configure silent Envoy request mirroring between clusters for the stated rollout and testing use cases; confirm the design with maintainers before coding.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- distributed-systems, infrastructure, networking
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100