Kafka 是一个由 LinkedIn 开发并开源至 Apache 的分布式发布-订阅消息系统,以其高吞吐量、持久化、分布式和可扩展性著称。

高吞吐量: Kafka 每秒能够处理高达 25 万条消息的生产(50 MB)和 55 万条消息的消费(110 MB)。

持久化: Kafka 将消息持久化存储到磁盘,实现批量消费(如 ETL)和实时应用程序的支持。数据持久化和复制机制保障了数据安全,防止丢失。

分布式系统: Kafka 的生产者、代理(broker)和消费者都采用分布式架构。

可扩展性: Kafka 利用 ZooKeeper 实现动态集群扩展,无需更改生产者和消费者的配置。代理在 ZooKeeper 上注册并更新元数据(主题、分区信息等),而客户端则在 ZooKeeper 上注册相关的观察者,实现动态扩展。