gpt4 book ai didi

apache-kafka - 我怎么知道kafka主题已满?

转载 作者:行者123 更新时间:2023-12-04 02:54:12 25 4
gpt4 key购买 nike

假设我有一个配置有一个分区的 kafka 代理

log.retention.bytes=80000 
log.retention.hours=6

如果我尝试使用生产者 api 向代理发送记录并且主题的日志在保留期之前已满,会发生什么情况?

我的消息会被丢弃吗?或者kafka会从旧消息中释放一些空间并添加我的吗?

如何知道主题是否已满,日志是否在使用前被删除?
有没有办法在主题已满时监控或公开指标?

最佳答案

What will happen if I try to send a record with the producer api to a broker and the log of the topic got full before the retention period? Will my message get dropped? Or will kafka free some space from the old messages and add mine?

主题配置中的

cleanup.policy 属性,默认情况下为 delete,表示“删除策略将在达到保留时间或大小限制时丢弃旧段”

因此,如果您使用生产者 api 发送记录并且主题已满,它将丢弃旧片段。

How can I know if a topic is getting full and logs are being deleted before being consumed? Is there a way to monitor or expose a metric when a topic is getting full?

您可以使用以下脚本获取分区大小:

/bin/kafka-log-dirs.sh --describe --bootstrap-server : --topic-list

您将需要开发一个脚本,该脚本将在脚本之上运行以获取主题的当前大小并将其定期发送到 Datadog。在 Datadog 中,您可以创建小部件,一旦大小达到特定阈值就会触发适当的操作(例如发送电子邮件警报)。

关于apache-kafka - 我怎么知道kafka主题已满?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53740040/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com