还不会Kafka吗?你真的成OUT慢了
一、定义 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 集群都会维护一个分区日志,如下图: 每个分区都是一个有序的, 不可变的记录序列, 不断附加到结构化的提交日志中。 分区中的记录每个都被分配一个称为偏移的顺序ID号,它唯一标识分区中的每条记录。 Kafka 集群可以持久的保存所有已发布的记录-无论它们是否被消费-可以易配置保留期限。 每个consumer 会保留消费者在日志中消费的偏移或位置