ZooKeeper 代理(proto)

此扩展的限定名称为 envoy.filters.network.zookeeper_proxy

注意

此扩展功能齐全,但尚未经过大量的生产使用测试,仅在有此注意事项的情况下使用。

此扩展未经过硬化,仅应在上下游均可信赖的部署中使用。

提示

此扩展扩展并可与以下扩展类别一起使用

此扩展必须使用以下类型 URL 之一进行配置

ZooKeeper 代理 配置概述.

extensions.filters.network.zookeeper_proxy.v3.ZooKeeperProxy

[extensions.filters.network.zookeeper_proxy.v3.ZooKeeperProxy proto]

{
  "stat_prefix": ...,
  "max_packet_bytes": {...},
  "enable_latency_threshold_metrics": ...,
  "default_latency_threshold": {...},
  "latency_threshold_overrides": [],
  "enable_per_opcode_request_bytes_metrics": ...,
  "enable_per_opcode_response_bytes_metrics": ...,
  "enable_per_opcode_decoder_error_metrics": ...
}
stat_prefix

(string, REQUIRED) 在发出 统计信息 时要使用的可读前缀。

max_packet_bytes

(UInt32Value) 大于此值的邮件——请求、响应和事件——将被忽略。如果未设置,则默认值为 1Mb。

此处的值应与集群配置中的 jute.maxbuffer 属性匹配

https://zookeeper.net.cn/doc/r3.4.10/zookeeperAdmin.html#Unsafe+Options

如果设置了该属性。如果没有设置,ZooKeeper 的默认值也是 1Mb。

enable_latency_threshold_metrics

(bool) 是否发出延迟阈值指标。如果未设置,则默认为 false。如果为 false,则设置 default_latency_thresholdlatency_threshold_overrides 将不起作用。

default_latency_threshold

(Duration) 用于确定快速/慢速响应并发出指标(用于错误预算计算)的默认延迟阈值。

https://sre.google/workbook/implementing-slos/

如果未设置,则默认值为 100 毫秒。

latency_threshold_overrides

(repeated extensions.filters.network.zookeeper_proxy.v3.LatencyThresholdOverride) 针对操作码的延迟阈值覆盖列表。如果未设置一个操作码的阈值覆盖,则它将回退到默认延迟阈值。不允许为一个操作码多次指定延迟阈值覆盖。

enable_per_opcode_request_bytes_metrics

(bool) 是否发出每个操作码请求字节指标。如果未设置,则默认为 false。

enable_per_opcode_response_bytes_metrics

(bool) 是否发出每个操作码响应字节指标。如果未设置,则默认为 false。

enable_per_opcode_decoder_error_metrics

(bool) 是否发出每个操作码解码器错误指标。如果未设置,则默认为 false。

extensions.filters.network.zookeeper_proxy.v3.LatencyThresholdOverride

[extensions.filters.network.zookeeper_proxy.v3.LatencyThresholdOverride proto]

{
  "opcode": ...,
  "threshold": {...}
}
opcode

(extensions.filters.network.zookeeper_proxy.v3.LatencyThresholdOverride.Opcode) ZooKeeper 操作码。可以在 ZooKeeper 源代码中找到

https://github.com/apache/zookeeper/blob/master/zookeeper-server/src/main/java/org/apache/zookeeper/ZooDefs.java

threshold

(Duration, REQUIRED) 某些操作码的延迟阈值覆盖。

Enum extensions.filters.network.zookeeper_proxy.v3.LatencyThresholdOverride.Opcode

[extensions.filters.network.zookeeper_proxy.v3.LatencyThresholdOverride.Opcode proto]

Connect

(DEFAULT)

Create

Delete

Exists

GetData

SetData

GetAcl

SetAcl

GetChildren

Sync

Ping

GetChildren2

Check

Multi

Create2

Reconfig

CheckWatches

RemoveWatches

CreateContainer

CreateTtl

Close

SetAuth

SetWatches

GetEphemerals

GetAllChildrenNumber

SetWatches2

AddWatch