Согласно документации Кафки,
acks=0 : the producer does not wait for the broker response but simply sends the data
acks=1 : a message is written to leader-log-file and a response is returned to the producer
Но в моем реальном тесте с acks=1
& retries=0
сообщения не теряются .
Насколько я понимаю, следующая конфигурация должна была дать такой же вывод:
retries=0, acks=0
retries=0, acks=1
Поскольку acks = 1 просто возвращает ответ производителю, в котором сообщается, было ли сообщение успешно получено, и в случае сбоя производитель может повторно отправить сообщение в соответствии с повторными попытками.
Но когда повторные попытки = 0, даже если acks = 1, сообщение потеряет данные, если оно не будет выполнено из-за отсутствия повторных попыток.
введите описание изображения здесь