Kafka is a distributed publish-subscribe messaging system that allows processes called producers to publish messages to topics, and processes called consumers to subscribe to topics and receive the stream of published messages. It maintains feeds of messages in categories called topics, and messages are distributed across partitions in a fault-tolerant way. Kafka is run as a cluster of servers called brokers that together form a scalable and durable messaging backbone.