【发布时间】:2022-01-23 22:38:23
【问题描述】:
哪些设置会影响与 kafka 建立的 TCP 连接数?背景是 MSK IAM 有油门限制。
我能想到的一些事情:
- 最大任务数
- 分区数
- 经纪人数量
- 复制因子
【问题讨论】:
标签: apache-kafka amazon-iam apache-kafka-connect aws-msk
哪些设置会影响与 kafka 建立的 TCP 连接数?背景是 MSK IAM 有油门限制。
我能想到的一些事情:
【问题讨论】:
标签: apache-kafka amazon-iam apache-kafka-connect aws-msk
没有具体数字。
粗略估计,从 Connect API 来看,tasks.max 是上述唯一重要的可配置项。每个任务都会启动一组消费者/生产者实例,它们只与领导者分区通信。
在框架内部,在 Connect 状态、偏移量和配置主题之间产生和使用数据。默认情况下,其中很少有多达 50 个分区,这意味着每个分区有一个连接。
数据到达领导分区后,根据您的因素,在集群内复制它(仍然通过 TCP)。
一些源连接器可能会另外创建一个 AdminClient 连接,以便在写入数据之前创建主题。
其他连接器可能为errors.tolerance dead-letter-queue 使用多个主题,或更具体的主题,如confluent.license.topic、Debezium 的数据库历史主题或MirrorMaker2 心跳主题。
如果您使用的是 Confluent Schema Registry,那么它还会维护一个 _schemas 主题。
最后,Sink 消费者将写信到__consumer_offsets 主题。
对于其中一些,增加内部客户端配置,例如消费者 max.poll.records 或生产者 batch.size,将降低建立连接的频率,但可能会在错误/重新平衡期间丢失/复制数据
【讨论】: