概念: 分布式消息系统,由LinkedIn使用Scala编写,用作LinkedIn的活动流,和运营数据处理管道的基础,具有高水平拓展和高吞吐量。
动态扩容是通过zookeeper实现的
AMQP协议:
消费者(consumer):从消息队列中请求消息的客户端应用程序
生产者(producer):向broker发布消息的客户端程序
AMQP服务器端(broker):用来接收生产者发送的消息并将这些消息路由给服务器中队列
kafka客户端支持当前大部分主流语言,可以使用支持的语言和kafka服务器通信(即编写自己的consumer和producer程序)
主题:一个业务一个主题
分区:一个topic中的消息数据按照多个分区组织,分区是kafka消息队列组织中的最小单位,一个分区可以看做一个FIFO队列
备份:从Kafka0.8开始对每个分区数据进行备份