摘要

消息代理的使用有多种原因(将处理与数据生成器分离,缓冲未处理的消息等)。Kafka作为一个分布式消息队列,可以替代更传统的消息代理,与大多数消息传递系统相比,具有更好的吞吐量,内置分区,高性能,复制和容错功能,这使其成为大规模消息处理应用程序的理想解决方案。Kafka对外使用topic的概念,生产者往topic里写消息,消费者从各个topic中读取消息。每个topic是由多个partition组成,虽然partition中的消息是有序的,但是多个partition是无序的,需要保证消息的有序读写,并且提高Kafka的性能。