Apache Kafka is a distributed event streaming platform built around an immutable, append-only commit log. Producers write records to topics; consumers read at their own pace; the log retains data on disk for hours, days, or forever. Unlike a traditional message queue, Kafka does not delete messages on consumption - many independent consumers can replay the same stream.
Kafka scales horizontally by partitioning each topic across brokers and replicating partitions for durability. It is the de-facto backbone for event-driven architectures: connecting microservices, feeding data lakes, powering CDC pipelines, and serving as the source-of-truth log for stream processors like Flink.
Less ideal for: request/response RPC (use gRPC), small low-throughput queues with complex routing (use RabbitMQ), or per-message TTL/priority semantics (Kafka is FIFO per partition only).
Often replaces: RabbitMQ, ActiveMQ, IBM MQ and other JMS brokers at scale; ad-hoc HTTP webhook fan-out; in-house log shippers feeding a data lake.