acks=0 - не ждать подтверждения. acks=1 - лидер партиции подтвердил. acks=all - лидер и реплики подтвердили. Идемпотентный продюсер (enable.idempotence=true) избегает дублей при ретраях. В Go настраивают при создании продюсера; для критичных сообщений acks=all и идемпотентность. Транзакции (транзакционный продюсер + read_committed на consumer) дают exactly-once семантику в рамках Kafka.
w := &kafka.Writer{
RequiredAcks: kafka.RequireAll,
Async: false,
}