Apache Kafka简介:Apache Kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,之后成为Apache Kafka项目的一部分。Apache Kafka是一种快速、可扩展的、设计内在就是分布式的,分区和可复制的提交日志服务。
Apache Kafka与传统消息系统相比有以下不同
它被设计为一个分布式系统,易于向外扩展 它同时为发布和订阅提供高吞吐量 它支持多订阅者,当失败时能自动平衡消费者 它将消息持久化到磁盘,因此可用于批量消费,例如ETL,以及实时应用程序
- Broker:消息中间件处理结点,一个Kafka节点就是一个broker,多个broker可以组成一个Kafka集群。
- Topic:一类消息,例如page view日志、click日志等都可以以topic的形式存在,Kafka集群能够同时负责多个topic的分发。
- Partition:topic物理上的分组,一个topic可以分为多个partition,每个partition是一个有序的队列。
- Segment:partition物理上由多个segment组成。
- offset:每个partition都由一系列有序的、不可变的消息组成,这些消息被连续的追加到partition中。partition中的每个消息都有一个连续的序列号叫做offset,用于partition唯一标识一条消息.