Envoy 的增量 xDS 变体是否只为 LDS 和 CDS 提供性能优势?

Does Envoy's incremental xDS variant only provide performance benefits for LDS and CDS?

Incremental xDS 是 xDS 的变体,其中更新仅包含资源 added/changed/removed.

据我了解,对于侦听器和集群以外的资源类型,更改的交付在 SotW 变体中已经是增量的,删除由 lack of a reference from parent resources 指示。

这是否意味着增量 xDS 的优势仅适用于 LDS 和 CDS API?

您说的是正确的,增量旨在对 Envoy 管理服务器内的当前资源快照执行增量。

LDS 和 CDS 显然从增量中受益,但协议比您想象的要微妙一些。其他资源 xDS 服务器确实显示了性能优势,因为订阅模型与 SOTW 有很大不同。一些功能确实转移到了增量 xDS 中,但内部发生了相当多的变化。一旦此 PR 生效,我们希望在 go-control-plane 中添加性能基准:https://github.com/envoyproxy/go-control-plane/pull/387.

无论如何,SOTW xDS 仍将发送所有请求的资源。增量运行在差异机制上,该机制只会将更改发送到服务器认为需要的客户端。我建议阅读增量的合并控制平面代码,看看它是如何工作的。如果您还有任何问题,请随时在 envoy slack 中与我联系!

一旦代码合并到上游,我很乐意回来报告测试环境中的真实指标:)