Scalable
Kafka’s flexible scalability makes it easy to handle any amount of data. Users can start
with a single broker as a proof of concept, expand to a small development cluster of
three brokers, and move into production with a larger cluster of tens or even hundreds
of brokers that grows over time as the data scales up. Expansions can be performed while the cluster is online, with no impact on the availability of the system as
a whole. This also means that a cluster of multiple brokers can handle the failure of
an individual broker, and continue servicing clients. Clusters that need to tolerate
more simultaneous failures can be configured with higher replication factors.
High Performance
All of these features come together to make Apache Kafka a publish/subscribe messaging
system with excellent performance under high load. Producers, consumers,
and brokers can all be scaled out to handle very large message streams with ease. This
can be done while still providing subsecond message latency from producing a message
to availability to consumers.