Kafka 是一种分布式的,基于发布 / 订阅的消息系统(消息队列中间件):
1.高吞吐率,单机支持每秒 100K 条以上消息的传输。
2.支持 Kafka Server 间的消息分区,及分布式消费,同时保证每个 Partition 内的消息顺序传输。
3.同时支持离线数据处理和实时数据处理。
Kafka 基础概念
一:生产者与消费者
对于 Kafka 来说客户端有两种基本类型:生产者(Producer)和消费者(Consumer)。
二:主题(Topic)与分区(Partition)
在 Kafka 中,消息以主题(Topic)来分类,每一个主题都对应一个「消息队列」
三:Broker 和集群(Cluster)
一个 Kafka 服务器也称为 Broker,它接受生产者发送的消息并存入磁盘;Broker 同时服务消费者拉取分区消息的请求,返回目前已经提交的消息。
一个 Broker 每秒可以处理成千上万的分区和百万量级的消息。若干个 Broker 组成一个集群(Cluster),其中集群内某个 Broker 会成为集群控制器(Cluster Controller),它负责管理集群,包括分配分区到 Broker、监控 Broker 故障等