一、Kafka 简介
1.基本概念
Kafka 是一个分布式的基于发布/订阅消息系统,主要应用于大数据实时处理领域,其官网是:http://kafka.apache.org/。Kafka 是一个分布式、支持分区的(Partition)、多副本的(Replica),基于 ZooKeeper 协调的发布/订阅消息系统。
Kafka 有以下三个基本概念:
Kafka 作为一个集群运行在一个或多个服务器上;
Kafka 集群存储的消息是以 Topic 为类别记录的;
每个消息是由一个 Key,一个 Value 和时间戳构成。
2.基本架构
Kafka 的基本架构图如下:
Producer:生产者,就是向 Broker 发消息的客户端;
Consumer:消费者,就是从 Broker 取消息的客户端;
Consumer Group:消费者组,由多个消费者组成。组内每个消费者负责消费不同分区的数据,一个分区的数据只能由一个组内的消费者进行消费,组内消费者之间互不影响;
Broker:一个 Kafka 服务器就是一个 Broker,一个集群由多个 Broker 组成;
Topic:主题,可以理解为队列,生成者和消费者都是用的同一个队列;
Partition:分区,为实现扩展性,一个大的 Topic 可以分散到多个 Broker 上,一个 Topic