











故名思意,就是防环。方式类似限速,超过一定值之后,增量的请求将被限制。是cluster级别的,
所以,如果有限速需求,或规格限制需求的话,天然在这个结构里做,也十分的不错。

如上图所示。
circuit breakers对象在ClusterInfo类中初始化。
ClusterInfo对象是Cluster对象的成员。Cluster由ClusterManagerImpl::loadCluster()函数,在clusterManager的初始化中调用,Cluster ManagerImpl::initialize()
在ResourceManagers::load() 函数中读取 xds config,进行ResourceLimit对象的进一步初始化。
如果 xds 中没有配置 circuit breakers,load()将使用其中设置的默认值。
xds中的位置:

https://www.envoyproxy.io/docs/envoy/v1.32.13/api-v3/config/cluster/v3/cluster.proto#config-cluster-v3-cluster
参考资料:
https://www.envoyproxy.io/docs/envoy/v1.32.13/intro/arch_overview/upstream/circuit_breaking#arch-overview-circuit-break-cluster-maximum-connection-pools
https://www.envoyproxy.io/docs/envoy/v1.32.13/faq/load_balancing/disable_circuit_breaking#faq-disable-circuit-breaking
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。