一.简介
Kafka是一种高吞吐量、分布式、基于发布/订阅的消息系统,最初由LinkedIn公司开发,使用Scala语言编写,目前是Apache的开源项目。
Kafka侧重于高吞吐量,牺牲了部分可靠性(消息丢失,重复,延迟),一般应用在大数据日志处理或对实时性和可靠性要求稍低的场景下。
Kafka和RabbitMQ/RocketMQ的区别是,前者设计为偏向高吞吐量,后者则设计为高可靠性,用于金融电商订单等可靠性要求极高的场景。
Kafka的版本较多,不同版本的设计原理不同,这里以0.11.0.0版本为例说明。