Kafka Mesh(原型)
此扩展的限定名称为 envoy.filters.network.kafka_mesh
注意
此扩展仅在 contrib 映像中可用。
注意
此扩展正在开发中。功能尚不完整,不适用于生产环境。
此扩展尚未经过强化,应仅在上下游都可信的部署中使用。
警告
此 API 功能目前正在开发中。标记为正在开发中的 API 功能不被视为稳定,不受 威胁模型 的涵盖范围,不受安全团队支持,并且可能会发生重大更改。在了解上述所有要点之前,请勿使用此功能。
Kafka Mesh 配置概述。
extensions.filters.network.kafka_mesh.v3alpha.KafkaMesh
[extensions.filters.network.kafka_mesh.v3alpha.KafkaMesh proto]
{
"advertised_host": ...,
"advertised_port": ...,
"upstream_clusters": [],
"forwarding_rules": [],
"consumer_proxy_mode": ...
}
- advertised_host
(string, REQUIRED) Envoy 向客户端宣传的主机。与相应的 Kafka 代理属性具有相同的含义。通常等于过滤器链的监听器配置,但需要对客户端可访问(因此 0.0.0.0 无法工作)。
- advertised_port
(int32) Envoy 向客户端宣传的端口。
- upstream_clusters
(repeated extensions.filters.network.kafka_mesh.v3alpha.KafkaClusterDefinition) 此过滤器将连接到的上游集群。
- forwarding_rules
(repeated extensions.filters.network.kafka_mesh.v3alpha.ForwardingRule) 将决定哪个集群获得哪个请求的规则。
- consumer_proxy_mode
(extensions.filters.network.kafka_mesh.v3alpha.KafkaMesh.ConsumerProxyMode) 消费者代理应如何表现 - 这主要与 Fetch 请求处理有关。
枚举 extensions.filters.network.kafka_mesh.v3alpha.KafkaMesh.ConsumerProxyMode
[extensions.filters.network.kafka_mesh.v3alpha.KafkaMesh.ConsumerProxyMode proto]
- StatefulConsumerProxy
(DEFAULT) 接收到的记录将分布在所有下游消费者连接中。在此模式下,Envoy 使用指向 Kafka 上游集群的 librdkafka 消费者,这意味着这些消费者的位置是有意义的,并且会影响从上游接收到的记录。用户可能需要查看这些消费者的自定义配置以管理其自动提交功能,因为这会影响 Envoy 在重新启动时的行为。
extensions.filters.network.kafka_mesh.v3alpha.KafkaClusterDefinition
[extensions.filters.network.kafka_mesh.v3alpha.KafkaClusterDefinition proto]
{
"cluster_name": ...,
"bootstrap_servers": ...,
"partition_count": ...,
"producer_config": {...},
"consumer_config": {...}
}
- cluster_name
(string, REQUIRED) 集群名称。
- bootstrap_servers
(string, REQUIRED) Kafka 集群地址。
- partition_count
(int32) 此集群中存在的默认分区数量。这对于在其有效负载中未指定分区的客户端特别重要,这些客户端依赖此值进行散列。上游指向的 Kafka 消费者将在消费者代理场景中使用相同数量的分区。
extensions.filters.network.kafka_mesh.v3alpha.ForwardingRule
[extensions.filters.network.kafka_mesh.v3alpha.ForwardingRule proto]
{
"target_cluster": ...,
"topic_prefix": ...
}
- target_cluster
(string) 集群名称。
- topic_prefix
(string) 用于将来类型的前向规则的预期位置。