A step-by-step guide to learn the basics of Kafka - Understanding Partitions, Consumer Group, ZooKeeper and Message Flow