Producer only send the "required_ack=all/1/0" in the request to the partition leader.
Leader is responsible to make sure required_ack is fulfilled, then it ack to client as producing succeeded. On Mon, Dec 20, 2021 at 5:23 PM yonghua <yong...@laposte.net.invalid> wrote: > Hello, > > I am seeing this doc: > https://github.com/zendesk/ruby-kafka who says: > > ---- > This behavior is controlled by the required_acks option to #producer and > #async_producer: > > # This is the default: all replicas must acknowledge. > producer = kafka.producer(required_acks: :all) > ---- > > > My question is that, how the client knows the server's topology? > including the replicas locations and number it must know for accepting > all acknowledges. > > Thanks. >