(1)Kafka具有近乎实时性的消息处理能力,即使面对海量消息也能够高效地存储消息和查询消息。Kafka将消息保存在磁盘中,在其设计理念中并不惧怕磁盘操作,它以顺序读写的方式访问磁盘,从而避免了随机读写磁盘导致的性能瓶颈。
(2)Kafka支持批量读写消息,并且会对消息进行批量压缩,这样既提高了网络的利用率,也提高了压缩效率。
(3)Kafka支持消息分区,每个分区中的消息保证顺序传输,而分区之间则可以并发操作,这样就提高了Kafka的并发能力。
(4)Kafka也支持在线增加分区,支持在线水平扩展。
(5)Kafka支持为每个分区创建多个副本,其中只会有一个Leader副本负责读写,其他副本只负责与Leader副本进行同步,这种方式提高了数据的容灾能力。Kafka会将Leader副本均匀地分布在集群中的服务器上,实现性能最大化。