Apache® Kafka® is designed to be reliable, immensely scalable, and support hundreds, thousands, or even millions of clients communicating via messages. Larger installations are often capable of producing and consuming millions of messages a second. To provide a reliable system, message brokers are split across multiple servers with a group of servers acting together in a cluster.

A producer sends a message to a broker and the broker receives and stores messages. A Kafka cluster can have many brokers.