暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Kafka权威指南学习总结一 -- 初识Kafka

释福 2021-08-30
248

一、初识Kakfa

1、主题与分区。

    Kafka消息以主题来分类。

    主题可分为若干个分区。

    一个分区就是一个提交日志。消息以追加的方式写入分区,后以先进先出的顺序读取。Kafka不保证分区间消息的顺序,但保证单个分区的消息顺序。

    Kafka通过分区实现数据冗余和伸缩性。分区可分布在不同的服务器上,即一个主题可以跨越多个服务器,以此提高更强大的性能。


2、生产者与消费者

    Kakfa系统的用户 -- Kafka的客户端,分为两种类型:生产者和消费者。

    此外的高级客户端API:

    数据集成:Kafka Connect API;

    流式处理:Kafka Streams。

    这些高级API使用生产者与消费者作为内部组件,提供高级功能。

    

    生产者:创建消息。

    默认情况下,消息会被均衡分布到主题的所有分区。

    分区器为消息键生成一个散列,并映射到指定的分区,以此实现特定消息写入特定分区。


    消费者:读取消息。

    消费者可订阅一个或者多个主题,并按消息生成的顺序进行读取。

    以检查消息的偏移量来区分已读取消息。

    消费者是消费者群组的一部分,一个主题可被一个或多个消费者读取。群组保证一个分区最多只能被一个消费者使用。

    消费者到分区的映射也称为消费者对分区的所有权关系。

    

    偏移量:元数据,不断递增的整数值;消息创建时被加入;特定分区,消息偏移量唯一。Kafka 0.90.0 版本将其保存在 Zookeeper,0.10.0 版本保存在特定内部主题 _consumer_offset_。 


3、broker 和集群

    broker:一个独立的Kafka服务器。

    broker接收来自生产者的消息,为消息设置偏移量,并提交到磁盘保存。

    broker是集群的组成部分。每个集群都由一个broker充当集群控制器,负责管理:分区分配给broker,监控broker。

    集群中,一个分区从属一个broker,即此broker为该分区首领leader。一个分区可以分配给多个broker进行分区复制,进而来实现消息冗余。

    

    保留消息:默认的消息保留策略,保留一段时间的消息,或保留一定大小的字节数的消息。主题可自行配置自己的保留策略。



文章转载自释福,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论