美文网首页
kafka 简介

kafka 简介

作者: 本能帅 | 来源:发表于2020-03-30 12:38 被阅读0次

    1.kafka 集群的架构

    Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用scala语言编写,Linkedin于2010年贡献给了Apache基金会并成为顶级开源 项目。

    image-20200129105443274

    1.broker: 服务器集群的节点

    2.topic : 专题

    3.partition分区: 把一个 topic 分成不同的分区,提高负载,表现形式就是文件夹

    1.leader:分区主节点(老大)

    2.follower: 分区的从节点(小弟)

    4.Consumer Group

    2.生产者往 kafka发送数据的流程(6 步)

    image-20200129105705147

    1、producer 从 kafka 集群获取信息,知道谁是 leader

    2、procucer 向 leader 发送数据

    3、leader 存储数据

    4、leader 往 follwer 发送数据

    5、follwer 告诉 leader 自己存储完毕

    6、leader 告诉 producer 自己存储完毕

    3.kafka 选择分区模式

    1.指定往哪个分区写

    2.指定 key,kafka 根据 key 做 hash 然后决定写哪个分区

    3.轮询方式

    4.生产者往 kafka 发送数据模式(3 种)

    1.0:把数据发给 leader 就成功,不等回复,效率最高,安全性最低

    2.1:把数据发送给 leader,等待 leader 回复 ACK

    3.all:把数据发送给 leader,确保 follower 从 leader 拉取到数据并回复 ACK 给 leader,leader 再回复 ACK;安全性最高

    5.kafka为什么快

    image-20200129112412411

    每个 partition 都是一个有序并且不可变的消息记录集合。当有新的数据写入时,就被追加到 partition 的末尾。在每个 partition 中,每条消息都会被分配一个顺序的 唯一标识,这个标识称为 offset,即偏移量。注意,kafka 只保证在同一个partition 内部消息是有序的,在不同 partition 之间,并不保证消息有序。

    6.消费者组消费数据

    image-20200129113044659

    相关文章

      网友评论

          本文标题:kafka 简介

          本文链接:https://www.haomeiwen.com/subject/muzmuhtx.html