01-初识 Kafka

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38038143/article/details/88775342

前言

今天开始学习Kafka,专栏记录了博主的学习过程,以及遇到的问题和解决方案。希望能够帮助到你。
参考书籍:

《Kfka权威指南》

1. Kafka充当了什么角色

认为Kafka 是一个流平台:在这个平台上可以发布和订阅数据流,并把它们保存其起来、进行处理。
Kafka 与现有的技术作比较(简述):

  • Kafka 有点像消息系统,允许发布和订阅消息流。
  • 可以看成实时版的Hadoop
  • Kafka 可以与ETL工具一样,可以移动数据

2. Kafka介绍

  1. Kafka的数据单元称为消息。
    消息是Kafka 中做小单元,它由字节数组组成。
    它可以有一个可选的元数据,称为键。当控制消息写入分区时,将键生成散列值,那么消息会根据它的散列值来写入对应的分区。
    其中,一个主题由多个分区构成,一个分区由一组消息构成。
    消息在分区中按照线性有序的形式写入分区,后面的消息以追加的方式写入分区。
    在这里插入图片描述
    通常,把一个主题看做一个

  2. 生产者和消费者
    生产者创建消息。
    默认情况下,生产者均衡的把消息写入主题的每一个分区。除非,使用消息键和分区器进行特定的写入。
    消费者读取消息。
    消费者订阅一个或多个主题,并按照消息生成的顺序读取它们。消费者通过检查消息的偏移量来区分已经读取过的消息。偏移量是另一种元数据,不断递增的整数值,在创建消息时,会被添加到消息里。
    在给定的分区里,每个消息的偏移量都是唯一的。
    偏移量的作用保证了,即使消费者关闭或重启,但它的读取状态不会丢失。
    消费者是消费者群组的一部分。
    会有一个或多个消费者读取同一个主题,但群组保证每个分区只能被一个消费者使用。消费者与分区之间的映射通常称为消费者对分区的所有权关系。
    在这里插入图片描述

  3. broker和集群
    broker是集群的组成部分。broker接收来自生产者的消息,为消息设置偏移量,并提交消息到磁盘保存。broker为消费者提供服务,对读取分区的请求作出响应,返回已经提交到磁盘的消息。
    broker是集群的组成部分。每个集群都有一个broker 同时从充当了集群控制器的角色。控制器负责管理工作,包括将分区分配给broker 和监控broker。在集群中,一个分区从属于一个broker,该broker 被称为分区的首领。一个分区可以分配给多个broker,这时会发生分区复制。该复制机制为分区提供了消息冗余。如果一个broker失效,其他broker可以接管领导权。不过,相关的消费者和生产者都要重新连接到新的首领。
    在这里插入图片描述

  4. 保留消息
    Kafka broker默认的消息保留策略是:要么保留一段时间(如7天),要么消息达到一定的字节数(如1GB)。当消息达到上限,旧的消息就会被删除。
    主题可以配置自己的保留策略。

  5. 多集群
    Kafka 可以使用多集群,但是消息复制机制只能在单个集群中进行,不能在多个集群之间进行。
    Kafka 提供了MirrorMaker 的工具,它可以实现集群之间的消息复制。MirrorMaker的核心组件包括了一个生产者和一个消费者,两者之间通过一个队列连接。
    消费者从一个集群读取消息,生产者把消息发送到另一个集群上。

  6. 模式
    模式是Kafka 中一个重要的组件。

3. Kafka 的优点

  1. 多个生产者
  2. 多个消费者
  3. 基于磁盘的数据存储
  4. 伸缩性
  5. 高性能

4. 使用场景

  1. 活动跟踪
  2. 传递消息
  3. 度量指标和日志记录
  4. 提交日志
  5. 流处理

博主刚起步学习Kafka,如有错误请指正。

完!

猜你喜欢

转载自blog.csdn.net/qq_38038143/article/details/88775342