kafka设置消息存放时间有两种配置
- 通过kafka server.properties配置文件
log.retention.hours=8
- 新建topic的时候添加参数
from confluent_kafka.admin import AdminClient, NewTopic
# Configure Kafka admin client
admin_conf = {'bootstrap.servers': 'localhost:9092'}
admin_client = AdminClient(admin_conf)
# Define topic configuration
topic_config = {
'retention.ms': '604800000' # 7 days
}
# Define topic properties
topic_properties = NewTopic(
topic='my-topic',
num_partitions=1,
replication_factor=1,
config=topic_config
)
# Create topic
admin_client.create_topics([topic_properties])
- 假如broker配置的retention和topic的设置的retention不一致
如果topic的retention时间比broker log的时间小,kafka仍然会删除消息,即使topic的retention没到期。换句话说kafka会取二者的最小值设置消息的生命周期。
比如topic设置消息保存时间是7天,broker设置保存1天。这种情况下,kafka会在一天后删除消息文章来源:https://www.toymoban.com/news/detail-648305.html
为了避免消息在topic设置的到期之前被删除,至少需要保证broker的log retention时间大于等于topic的retention时间文章来源地址https://www.toymoban.com/news/detail-648305.html
到了这里,关于kafka 关于设置消息存放周期的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!