ack=all and min ISR”改写为中文,指的是要在Kafka消费者代码中设置确认机制和最小的ISR参数。确认机制指的是我们在消费完一条消息后向Kafka broker发送确认消息,以确保消息已经被消费且数据已经被保存。最小的ISR参数指的是我们要求Kafka broker至少复制N个副本,然后才能认为消息被成功保存。
以下是一个包含确认机制和最小的ISR参数设置的Kafka消费者代码示例:
from kafka import KafkaConsumer
consumer = KafkaConsumer('my_topic',
group_id='my_group',
bootstrap_servers=['localhost:9092'],
enable_auto_commit=True,
auto_offset_reset='latest',
request_timeout_ms=1000,
acks='all',
min_isrs=2)
for msg in consumer:
print(msg)
在代码中,参数acks='all'
表示确认机制设置为所有broker都已成功接收到消息并保存;参数min_isrs=2
表示要求Kafka broker至少保存2个ISR副本后才能返回确认消息给消费者。