Topic is a where publishers can writes messages and clients can read message from
each topic can have replication level that determines how many replicas a partition has
A topic can be made up of multiple Partitions
Broker is a Kafka process that
hosts one or more partitions
runs on a physical machine/server/node. A machine can run more than one broker process
Cluster is a group of brokers that form a single Kafka cluster
Bootstrap servers are initial servers used for the initial connection to discover all participating servers. After the connection all servers/brokers are used
one replica acts as a leader elected by the controller rest are followers
Leader serves all client requests.
ZooKeeper is used for maintaining which broker is the leader
a message is exposed to client only after it commits, i.e. all in-sync replicas ISR have finished writing the message
a message is rolled into a different segment after configured roll time or segment size
An inactive segment is deleted or compacted after configured retention time
Compacting involves retaining only the most recent key from a segment.