https://medium.com/@2000anujsharma/kafka-internals-explained-partitions-offsets-brokers-and-zookeeper-a4cd8c5356ad