mittwald / mittwald/kube-httpcache
Throttle config updates
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 313
- Forks
- 82
- PR merge metrics
- No merged PRs in 30d
Description
Is your feature request related to a problem? Please describe.
Aggressive autoscaling can trigger config updates multiple times rendering Varnish unable to respond.
Describe the solution you'd like
Have a configurable grace period before issuing a config update and discard old ones if another change was registered.
Describe alternatives you've considered
Less aggressive autoscaling or just living with it, but both don't seem that hot.
Additional context
We have pretty aggressive autoscaling since we have to get from 0-10000 Requests per Second in 2 Minutes. However, because that autoscaling is so aggressive, new varnish instances keep coming up, which results in config updates. Each config update adds a bit of latency, and if a lot of varnishes go online in a short period, the latency can shoot up to ~1s, while Varnish itself can serve the request in ~3ms.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing how Kubernetes autoscaling events lead to Varnish configuration updates. Define a configurable grace period and ensure superseded pending updates are discarded; done means rapid instance changes produce one effective update after the grace period without preventing Varnish from responding.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes
- Domain
- devops, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100