Hi: If someone's intention is to implement a producer such that: 1. The call to send() blocks until the write is successful on the configured number or replicas or max num of retries. 2. The call to send() takes in a configurable batch of messages that is committed all or nothing.
what combination of the following should they choose? a. Sync vs. Async producer b. request.required.acks = 0, 1 or -1 c. send(KeyedMessage) vs. send(List<KeyedMessage>) There is information on all of the above, but I wanted to hear this explicitly from someone more experienced that I am at Kafka.