envoyproxy / envoyproxy/java-control-plane

Support server side xds ratelimiting for client connections

Open
#300 1 comment 2 reactions 1 assignee Claimed by @nezdolik View on GitHub
enhancement
Dominant language
Java
Stars
312
Forks
149
PR merge metrics
No merged PRs in 30d

Description

we at Spotify run large pool of Envoys and a single control plane per cloud region. Due to specific reasons we run single instance of control plane per region, which may be changed in future. We have hit scalability issues (related to netty buffers), when control plane got overwhelmed by too many Envoys reconnecting (after control plane restart) and requesting XDS snapshot simultaneously. For that case we have implemented XDS ratelimiting feature in control plane, that allows only N new concurrent xds streams to be establishes per second based on xds node id. The feature has been battle proven in production, it sparked some community interest and we would like to contribute such feature to java control plane library

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.