Kafka is used for building real-time data pipelines and streaming apps. It runs as a cluster on one or more servers. The Kafka cluster stores data in topics. The topic can consist of a few partitions. It has Producer, Consumer, Streams and Connector APIs.