zoukankan      html  css  js  c++  java
  • 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创建了一个主题。

  • 相关阅读:
    Changing Icon File Of Push Button At Runtime In Oracle Forms 6i
    Set Font Properties On Mouse Hover Of Push Button And Text Items At Run time In Oracle Forms
    Change An Item Property Using Set_Item_Property In Oracle Forms
    Calling / Running a report in Oracle forms 10g / 11g
    Change Or Set Report Object Property At Run Time In Oracle Forms Using Set_Report_Object_Property Command
    Refresh / Updating a form screen in Oracle D2k Forms 6i
    Know How And When To Use System.Message_Level To Control Messages In Oracle Forms
    Perform Cut Copy Paste Operations Using Cut_Region Copy_Region Paste_Region Commands In Oracle Forms
    CHECKBOX_CHECKED built-in in Oracle D2k Forms
    Limiting To Select Only 5 Check Boxes Out Of Ten In Oracle Forms
  • 原文地址:https://www.cnblogs.com/a00ium/p/10852528.html
Copyright © 2011-2022 走看看