Describe the feature request
Currently, incremental EDS push has been implemented on both Envoy and Pilot side. Even with this, some large clusters(with 10000 endpoints for example) may still suffer from performance issues due to:
- Even with only 1 endpoints change within cluster would cause 10000 endpoints push. Most of the data is duplicated and wasted.
- Full EDS refresh will trigger Envoy to reload and recompute data which causes high CPU and memory usage constantly.
- Changes within large clusters will likely to be constantly which leads to push constantly.
The core idea is to make use of 'xDS delta' to only send endpoints changed. I'll write a google doc to describe it in details later.
Describe alternatives you've considered
Perhaps endpoint slices?
Additional context
Refer to this issue the EDS Patch on Envoy side is not ready yet. We will start some work at Envoy side in the meantime.
This issue is about patching of EDS on Envoy data pushing. There is another issue about the MCP registry data pushing. If both are ready, the performance and usability of Pilot will increase significantly, especially on networking.
Describe the feature request
Currently, incremental EDS push has been implemented on both Envoy and Pilot side. Even with this, some large clusters(with 10000 endpoints for example) may still suffer from performance issues due to:
The core idea is to make use of 'xDS delta' to only send endpoints changed. I'll write a google doc to describe it in details later.
Describe alternatives you've considered
Perhaps endpoint slices?
Additional context
Refer to this issue the EDS Patch on Envoy side is not ready yet. We will start some work at Envoy side in the meantime.
This issue is about patching of EDS on Envoy data pushing. There is another issue about the MCP registry data pushing. If both are ready, the performance and usability of Pilot will increase significantly, especially on networking.