• Apache Kafka主题


    1.卡夫卡话题

    在这篇Kafka文章中,我们将学习Kafka主题与Kafka Architecture的整体概念。Kafka中的体系结构包括复制,故障转移以及并行处理。此外,我们还将看到创建Kafka主题的方法以及Apache Kafka主题的示例,以便更好地理解Kafka。此外,我们将看到Kafka分区和Kafka日志分区。
    那么,让我们从Kafka主题开始吧。

    卡夫卡主题

    Apache Kafka主题 - 架构和分区

    2.什么是卡夫卡主题?

    简而言之,命名的记录流就是我们所说的Kafka Topic。基本上,在日志中Kafka存储主题。但是,Apache Kafka中的主题日志分为几个分区。此外,Kafka将这些日志的分区分布在多个服务器或磁盘上。换句话说,我们可以说Kafka中的主题是类别,流名称或提要。

    卡夫卡主题

    卡夫卡的主题是什么?

    此外,我们可以说Apache Kafka中的主题本身就是发布的以及订阅样式消息传递。此外,在Kafka主题中可以有零个或多个称为Kafka Consumer Groups的订户基本上,Kafka中的这些主题分为速度,可伸缩性和大小的分区。
    了解有关Kafka Pub-Sub Messaging System的更多信息

    3.如何创建Kafka主题

    首先,运行kafka-topics.sh并指定主题名称,复制因子和其他属性,以在Kafka中创建主题:

    /bin/kafka-topics.sh --create 
       --zookeeper <hostname>:<port> 
       --topic <topic-name> 
       --partitions <number-of-partitions> 
       --replication-factor <number-of-replicating-servers>

    现在,通过一个分区和一个副本,下面的示例创建一个名为“test1”的主题:
    读取Kafka Monitoring 

    bin/kafka-topics.sh --create 
       --zookeeper localhost:2181 
       --replication-factor 1 
       --partitions 1 
       --topic text

    此外,运行list topic命令以查看主题:

    > bin/kafka-topics.sh --list --zookeeper localhost:2181
    test1

    确保当应用程序尝试生成,使用或获取不存在的主题的元数据时,auto.create.topics.enable属性设置为true时会自动创建主题。

    4.卡夫卡主题分区

    此外,Kafka将主题日志分成几个分区。因此,通常通过记录键,如果密钥存在并且循环,则在密钥丢失时将记录存储在分区上(默认行为)。默认情况下,有助于确定Kafka Producer发送记录的分区的键是Record Key。
    基本上,为了在生产者写入的许多服务器上扩展主题,Kafka使用分区。此外,为了促进并行消费者,Kafka使用分区。此外,在故障转移方面,Kafka可以将分区复制到多个Kafka Brokers

    5. Kafka主题日志分区的订购和基数

    好吧,我们可以说,只有在一个分区中,Kafka确实保持了记录顺序。由于分区也是有序的,不可变的记录序列。并且,通过将分区用作结构化提交日志,Kafka会不断附加到分区。在分区中,所有记录都分配了一个顺序ID号,我们进一步称之为偏移量。该偏移量进一步标识分区内的每个记录位置。
    看看Kafka vs RabbitMQ
    此外,为了扩展到适合单个服务器的大小,Topic分区允许Kafka日志。主题可以跨越许多服务器上托管的许多分区,但主题分区必须适合托管它的服务器。此外,Apache Kafka中的主题分区是并行的一个单元。也就是说,一次只能由一个分区处理分区消费者群体中的卡夫卡消费者基本上,Kafka中的Consumer只能在自己的进程或自己的线程中运行。尽管如此,如果消费者停止,Kafka会在同一个消费者群体中的剩余消费者之间传播分区。

    6. Kafka主题分区复制

    出于容错的目的,Kafka可以跨可配置数量的Kafka服务器执行分区复制。基本上,每个分区中都有一个领导服务器和零个或多个跟随服务器。此外,对于分区,领导者是处理所有读写请求的人。
    但是,如果领导者去世,追随者会复制领导者并接管。此外,对于组内的并行消费者处理,Kafka还使用分区。
    我们来讨论Kafka Schema

    7.复制:Kafka分区领导者,追随者和ISR。

    但是,通过使用ZooKeeper,Kafka选择一个代理的分区副本作为领导者。此外,我们可以说,对于分区,具有分区领导者的代理处理所有记录的读写。此外,对于追随者(节点/分区对)的领导者分区,Kafka复制了写入。在定义术语ISR时,同步的跟随者就是我们所说的ISR(同步副本)。尽管如此,如果分区领导失败,Kafka会选择新的ISR作为新的领导者。

    8. Kafka架构:Kafka复制 - 复制到分区0

    卡夫卡主题

    Kafka架构:Kafka复制 - 复制到分区0

    让我们讨论一下ZooKeeper在Kafka中的作用
    虽然当分区的所有ISR写入其日志时,该记录被认为是“已提交”。但是,我们只能从消费者那里读取提交的记录。

    卡夫卡主题

    Kafka主题 - 复制到分区1

    所以,这完全是关于卡夫卡主题。希望你喜欢我们的解释。
    了解有关Kafka Tool的更多信息

    9.结论

    因此,我们已经详细了解了卡夫卡主题的整个概念。此外,我们讨论了Kafka主题分区,Kafka主题中的日志分区和Kafka复制因子。此外,我们看到了Kafka Architecture并在Kafka创建了一个主题。

  • 相关阅读:
    DP——斜率优化
    题解报告——数三角形
    题解报告——货车运输
    题解报告——油滴扩展
    题解报告——程序补丁
    题解报告——奖励关
    用bitset解决背包问题
    题解报告——矩阵操作
    题解报告——数列
    题解报告——窗口的星星
  • 原文地址:https://www.cnblogs.com/a00ium/p/10852528.html
Copyright © 2020-2023  润新知