我正在使用基于 Kafka http://apache.cbox.biz/kafka/2.4.1/kafka_2.13-2.4.1.tgz图像的 Kafka MirrorMaker。我的问题是,无论我尝试什么,MirrorMaker 都会将一个主题的 10 个分区上的延迟聚合 60 秒,然后延迟在一秒钟内归零,因为消息显然没有那么多,然后延迟再次增长 60 秒。我希望消息和延迟每 10 秒归零一次,但无法实现,尽管我主要使用 mirrormaker 生产者配置文件玩了一下。
消费者.props:
enable.auto.commit=false
client.id=mirror_maker_consumer
exclude.internal.topics=true
group.id=MirrorMaker
bootstrap.servers=${SOURCE_BOOTSTRAP_SERVERS_LIST}
partition.assignment.strategy=org.apache.kafka.clients.consumer.RoundRobinAssignor
生产者.props:
acks=all
bootstrap.servers=${TARGET_BOOTSTRAP_SERVERS}
client.id=mirror_maker_consumer_telemetry
max.in.flight.requests.per.connection=1
retries=5
batch.size = 10
buffer.memory = 3000
linger.ms = 5
max.request.size = 1000
max.block.ms = 3000
receive.buffer.bytes = -1
send.buffer.bytes = -1
transaction.timeout.ms = 22000
在制作人层面,我玩过:
- 批量大小
- 逗留时间
- 最大请求大小
- 尝试添加底部 4/5 属性以减少批次之间的时间,但没有运气。
一些建议将不胜感激。
我不确定在这 60 秒内是否存在有效的延迟并且消息在消费者端保留,而只是延迟每 60 秒更新一次,同时消息被复制...
问候, OvivO