智一面

 

Kafka的优点

  • 高吞吐量:单机每秒处理几十上百万的消息量。即使存储了许多TB的消息,它也保持稳定的性能。
  • 高性能:单节点支持上千个客户端,并保证零停机和零数据丢失,异步化处理机制
  • 持久化:将消息持久化到磁盘。通过将数据持久化到硬盘以及replica(follower节点)防止数据丢失。
  • 零拷贝:减少了很多的拷贝技术,以及可以总体减少阻塞事件,提高吞吐量。
  • 可靠性 :Kafka是分布式,分区,复制和容错的。

    Kafka的特点

    • 顺序读,顺序写

    • 利用Linux的页缓存

    • 分布式系统,易于向外扩展。所有的Producer、Broker和Consumer都会有多个,均为分布式的。无需停机即可扩展机器。多个Producer、Consumer可能是不同的应用。
    • 客户端状态维护:消息被处理的状态是在Consumer端维护,而不是由server端维护。当失败时能自动平衡。
    • 支持online(在线)和offline(离线)的场景。
    • 支持多种客户端语言。Kafka支持Java、.NET、PHP、Python等多种语言。