一、定义
Apache Kafka 是一款开源的消息系统。可以在系统中起到“肖峰填谷”的作用,也可以用于异构、分布式系统中海量数据的异步化处理。
系统包括四个主要API:
- Producer API
允许一个应用推送流记录通过一个或多个Kafka topics ; - Consumer API
允许一个应用订阅一个或多个topics 并且处理这些流记录; - Streams API
允许一个应用作为一个流处理者,通过topics 输入或输出流数据 ; - Connector API
绑定并运行 Producer 或 Consumer 连接Kafka topics 到 到已经存在的系统或存储上;
二、功能介绍
1) Topics and log
Topic 是发布记录的类别或订阅源名称。Kafka 的topic 会关联用户;一个topic 可以有 0个或多个Consumer 订阅写入它的数据。
对于每个topic ,kafka 集群都会维护一个分区日志,如下图: