Kafka’s story began around 2010 with LinkedIn having a goal to deal with continuous streams of data. LinkedIn wanted to build data applications designed to facilitate activity tracking, and collect application metrics and logs. During this time, there were no optimal solutions to ingest and analyze event data in real-time, i.e., with low latency. Kafa was originally created to be a messaging queue where they wanted to ingest large event data from their website and infrastructure into their lambda architecture with low latency. Since then, Kafka’s use cases have evolved. Kafka is a distributed publish-subscribe (pub-sub) messaging system that is known to be extremely scalable. It can also deliver in-order and persistent messaging. You can think of Kafka as a log data structure where there is a time-ordered, append-only sequence of data inserts.