Got some info on this, I think this is mostly controlled by acks.
The default value of “1” requires an explicit acknowledgement from the
partition leader that the write succeeded. The strongest guarantee that
Kafka provides is with “acks=all”, which guarantees that not only did the
partition
Not sure about, what you mean by Asynchronous and Synchronous
replication. details about replication are here:
http://kafka.apache.org/documentation/#replication
Kafka producers can choose whether they wait for the message to be
acknowledged
by 0,1 or all (-1) replicas by using "acks" config