超通俗易懂,Kafka入门级学习笔记,看完就明白了

身为运维工程师,我们对Kafka耳熟能详,但也仅仅如此。还有很大一批人不知道Kafka是做什么的,也不知道Kafka的原理和配置,更不用说Kafka的高级应用了。

我们学习Kafka不仅是因为它是运维必备的知识,更因为Kafka也是面试中的“常客”,为了能顺利通过面试,更为了后续职场路上能顺利,学习Kafka是当务之急。

今天不讲晦涩难懂的知识,仅仅让大家用几分钟就能快速了解Kafka,超通俗易懂的手册,新人也完全跟得上。
在这里插入图片描述

Kafka的概念和基本术语

Kafka是由Linkedin公司开发的,它是一个分布式的,支持多分区,多副本,基于Zookeeper的分布式消息流平台,它同时也是一款开源的基于发布订阅模式的消息引擎系统。

消息:Kafka中的数据单元被称为消息,也被称为记录,可以把它看作数据库表中某一行的记录

批次:为了提高效率,消息会分批次写入Kafka,批次就代指的是一组消息。

主题:消息的种类被称为主题,可以说一个主题代表了一类消息。相当于是对消息进行分类。主题就像是数据库中的表。

分区:主题可以被分为若干个分区,同一个主题中的分区可以不在一个机器上,有可能会部署在多个机器中,由此来实现Kafka的伸缩性,单一主题中的分区有序,但是无法保证主题中的所有的分区有序。
在这里插入图片描述
生产者: 向主题发布消息的客户端应用程序称为生产者(Producer),生产者用于持续不断的向某个主题发送消息。

消费者:订阅主题消息的客户端程序称为消费者(Consumer),消费者用于处理生产者产生的消息。

消费者群组:生产者与消费者的关系就如同餐厅中的厨师和顾客之间的关系一样,一个厨师对应多个顾客,也就是一个生产者对应多个消费者,消费者群组(Consumer Group)指的就是由一个或多个消费者组成的群体。
在这里插入图片描述

Kafka的消息队列

Kafka的消息队列一般分为两种模式:点对点模式和发布订阅模式

Kafka是支持消费者群组的,也就是说Kafka中会有一个或者多个消费者,如果一个生产者生产的消息是由一个消费者进行消费的话,那么这种模式就是点对点模式
在这里插入图片描述
如果一个生产者或者多个生产者产生的消息能够被多个消费者同时消费的情况,这样的消息队列成为发布订阅模式的消息队列。
在这里插入图片描述

Kafka系统架构

在这里插入图片描述

Kafka消息发送

实例化生产者对象后,接下来就可以开始发送消息了,发送消息主要有下面几种方式

  • 简单消息发送
  • 同步发送消息
  • 异步发送消息
    在这里插入图片描述

Kafka Consumer

Kafka消费者从属于消费者群组。一个群组中的消费者订阅的都是相同的主题,每个消费者接收主题一部分分区的消息。下面是一个Kafka分区消费示意图
在这里插入图片描述
上图中的主题 T1 有四个分区,分别是分区0、分区1、分区2、分区3,我们创建一个消费者群组1,消费者群组中只有一个消费者,它订阅主题T1,接收到 T1 中的全部消息。由于一个消费者处理四个生产者发送到分区的消息,压力有些大,需要帮手来帮忙分担任务,于是就演变为下图
在这里插入图片描述

完整版PDF展示

此笔记短小精悍,非常适合入门使用,图例清晰易理解,可以拿走学习。
在这里插入图片描述
在这里插入图片描述


在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值