Kafka的一些基本概念|青训营笔记

72 阅读2分钟

1.kafka

1.0Peer-to-Peer模式Publish/Subscribe模式

1.1 简介 : Kafka 是一种分布式的,基于发布 / 订阅的消息系统。

1.2生产者与消费者

Kafka 来说客户端有两种基本类型:生产者和消费者。除此之外,还有用来做数据集成的 Kafka Connect API 和流式处理的 Kafka Streams 等高阶客户端,但这些高阶客户端底层仍然是生产者和消费者API,它们只不过是在上层做了封装。

简单来说就和微博差不多,生产这就是发微博的博主,消费者就是观看博主文章的用户

1.3主题与分区

在 Kafka 中,消息以主题来分类

使用一个生活中的例子来说明:现在 A 城市生产的某商品需要运输到 B 城市,走的是公路,那么单通道的高速公路不论是在「A 城市商品增多」还是「现在 C 城市也要往 B 城市运输东西」这样的情况下都会出现「吞吐量不足」的问题。所以引入分区的概念,类似“允许多修几条道”的方式对我们的主题完成了水平扩展

1.4Broker 和集群

一个 Kafka 服务器也称为 Broker,它接受生产者发送的消息并存入磁盘;Broker 同时服务消费者拉取分区消息的请求,返回目前已经提交的消息。使用特定的机器硬件,一个 Broker 每秒可以处理成千上万的分区和百万量级的消息。

若干个 Broker 组成一个集群,其中集群内某个 Broker 会成为集群控制器,它负责管理集群,包括分配分区到 Broker、监控 Broker 故障等。在集群内,一个分区由一个 Broker 负责,这个 Broker 也称为这个分区的 Leader;当然一个分区可以被复制到多个 Broker 上来实现冗余,这样当存在 Broker 故障时可以将其分区重新分配到其他 Broker 来负责。