1.目标

在我们上一篇Kafka教程中,我们讨论了Kafka Docker。今天,我们将讨论Kafka Workflow。此外,我们将详细介绍Pub-Sub Messaging的工作流程以及Queue Messaging / Consumer Group的工作流程。此外,我们将看到ZooKeeper在Apache Kafka中的作用。
那么,让我们从Kafka Workflow开始吧。

Apache Kafka工作流程| Kafka Pub-Sub Messaging

2.什么是Kafka Workflow?

在Kafka Workflow中,Kafka是主题的集合,它们被分成一个或多个分区,而分区是一系列消息,其中index标识每条消息(我们也称为偏移量)。但是,在Kafka集群中,所有数据都是分区的不相交联合。传入消息出现在分区的末尾,因此消费者可以读取它们。此外,通过将消息复制到不同的代理,它可以保持持久性。
让我们修改Apache Kafka架构Kafka
以非常快速,可靠,持久,容错和零停机的方式提供基于Pub-sub和队列的消息传递系统。此外,生产者将消息发送到主题,并且消费者可以根据他们的愿望选择任何一个消息系统。

3. Pub-Sub Messaging的工作流程

在Apache Kafka中,Pub-Sub Messaging的逐步工作流程是:

  • Kafka Producers定期将消息发送给主题。
  • Kafka Brokers将所有消息存储在为该特定主题配置的分区中,从而确保在分区之间平均分配消息。例如,如果生产者发送两条消息并且有两个分区,则Kafka将在第一个分区中存储一条消息而在第二个分区中存储第二条消息。
  • 此外,Kafka Consumer订阅了一个特定主题。
  • 消费者订阅主题后,Kafka会向消费者提供主题的当前偏移量,并将偏移量保存在Zookeeper集合中。
  • 此外,消费者将定期请求Kafka,以获取新消息(如100 Ms)。
  • Kafka将在收到生产者后立即将消息转发给消费者。
  • 消费者将收到消息并进行处理。
  • 然后Kafka经纪人收到已处理邮件的确认。
  • 此外,一旦Kafka收到确认,就会更改偏移并将其更新为新值。即使在服务器暴动期间,消费者也可以正确读取下一条消息,因为ZooKeeper会维护偏移量。
  • 但是,在消费者停止请求之前,流程会重复。
  • 作为一种好处,消费者可以随时回放/跳过主题的任何偏移,并且还可以阅读所有后续消息,作为一个标准的愿望。

阅读Kafka Performance Tuning

4. Kafka Queue消息/消费者组的工作流程

具有相同组ID的一组Kafka消费者可以在队列消息传递系统中订阅主题而不是单个消费者。但是,对于所有使用者具有相同的组ID,订阅主题的用户被视为单个组并共享消息。该系统的工作流程是:

  • Kafka Producers定期发送消息给Kafka主题。
  • 与前面的场景类似,此处Kafka还会在为该特定主题配置的分区中存储所有消息。
  • 此外,Kafka中的单个消费者订阅了特定主题。
  • 与Pub-Sub Messaging相同,Kafka与消费者交互,直到新消费者订阅同一主题。
  • 随着新客户的到来,共享模式从操作开始,并在两个Kafka消费者之间共享数据。此外,在Kafka使用者的数量等于为该特定主题配置的分区数量之前,共享重复。
  • 虽然,一旦Kafka消费者的数量超过分区数量,Kafka的新消费者将不会收到任何进一步的消息。它发生在任何一个现有的消费者取消订阅之前。出现这种情况是因为在Kafka中存在一个条件,即每个Kafka消费者将至少有一个分区,如果没有分区保持空白,那么新消费者将不得不等待。
  • 此外,我们还称其为Kafka Consumer Group。因此,Apache Kafka将以非常简单和有效的方式提供两种系统中的最佳系统。

学习Apache Kafka Streams | 流处理拓扑

5. ZooKeeper在Apache Kafka中的作用

Apache Zookeeper充当Kafka代理和消费者之间的协调接口。此外,我们可以说它是一个分布式配置和同步服务。基本上,ZooKeeper集群与Kafka服务器共享信息。此外,Kafka在ZooKeeper Kafka中存储基本元数据信息,例如主题,代理,消费者偏移(队列读取器)等。
点击链接,了解有关Zookeeper在Kafka中的角色的更多信息
此外,Kafka Zookeeper / broker的故障不会影响Kafka集群。这是因为存储在ZooKeeper中的关键信息会在其集合中复制。然后Kafka在ZooKeeper重新启动时恢复状态,导致Kafka零停机。然而,在领导失败的情况下,Zookeeper还在Kafka经纪人之间进行领导选举。
因此,这完全是关于Apache Kafka Workflow。希望你喜欢我们的解释。

六,结论

因此,我们已经看到了Apache Kafka Workflow的概念。此外,在这个Kafka Workflow教程中,我们讨论了Pub-Sub Messaging系统的Workflow,以及Kafka Queue Messaging系统的工作流程。最后,我们看到了Zookeeper在Apache Kafka中的作用。不过,如果对Kafka Workflow有任何疑问,请随时在评论部分询问。
另请参阅 -  
具有薪资趋势的Apache Kafka职业范围
供参考

Apache Kafka工作流程| Kafka Pub-Sub Messaging的更多相关文章

  1. Kafka工作流程分析

    Kafka工作流程分析 生产过程分析 写入方式 producer采用推(push)模式将消息发布到broker,每条消息都被追加(append)到分区(patition)中,属于顺序写磁盘(顺序写磁盘 ...

  2. Kafka架构深入:Kafka 工作流程及文件存储机制

    kafka工作流程: 每个分区都有一个offset消费偏移量,kafka并不能保证全局有序性. Kafka 中消息是以 topic 进行分类的,生产者生产消息,消费者消费消息,都是面向 topic 的 ...

  3. kafka工作流程| 命令行操作

    1.  概述 数据层:结构化数据+非结构化数据+日志信息(大部分为结构化) 传输层:flume(采集日志--->存储性框架(如HDFS.kafka.Hive.Hbase))+sqoop(关系型数 ...

  4. 3、kafka工作流程

    一.kafka各成员 kafka: 分布式消息系统,将消息直接存入磁盘,默认保存一周. broker: 组成kafka集群的节点,之间没有主从关系,依赖zookeeper来协调,broker负责满息的 ...

  5. Kafka工作流程

    Kafka生产过程分析 1 写入方式 producer采用推(push)模式将消息发布到broker,每条消息都被追加(append)到分区(patition)中,属于顺序写磁盘(顺序写磁盘效率比随机 ...

  6. kafka学习(二)kafka工作流程分析

    一.发送数据 follower的同步流程 PS:Producer在写入数据的时候永远的找leader,不会直接将数据写入follower PS:消息写入leader后,follower是主动的去lea ...

  7. 深入了解Kafka【二】工作流程及文件存储机制

    1.Kafka工作流程 Kafka中的消息以Topic进行分类,生产者与消费者都是面向Topic处理数据. Topic是逻辑上的概念,而Partition是物理上的概念,每个Partition分为多个 ...

  8. Apache kafka 工作原理介绍

    消息队列 消息队列技术是分布式应用间交换信息的一种技术.消息队列可驻留在内存或磁盘上, 队列存储消息直到它们被应用程序读走.通过消息队列,应用程序可独立地执行--它们不需要知道彼此的位置.或在继续执行 ...

  9. Pulsar Pub/Sub Messaging

    The Apache Software Foundation Announces Apache Pulsar as a Top-Level Project : The Apache Software ...

随机推荐

  1. MySQL入门篇之mysqldump备份和恢复

    一.备份单个数据库 1.备份命令:mysqldump MySQL数据库自带的一个很好用的备份命令.是逻辑备份,导出 的是SQL语句.也就是把数据从MySQL库中以逻辑的SQL语句的形式直接输出或生成备 ...

  2. 经肝药酶CYP3A4代谢的药物对比记录

    罗非昔布 罗非昔布,解热镇痛抗炎药,选择性环氧化酶-2(COX-2)抑制药,有研究表明,该类药可增加心脏病发作.卒中或其他严重后果概率,不良反应为,增加心肌梗死和心脏猝死的风险,现已撤市.经肝和肠壁细 ...

  3. dinoql 使用graphql 语法查询javascript objects

    dinoql 是一个不错的基于graphql 语法查询javascript objects 的工具包,包含以下特性 graphql 语法(很灵活) 安全的访问(当keys 不存在的时候,不会抛出运行时 ...

  4. CF1172E Nauuo and ODT

    CF1172E Nauuo and ODT 神仙题orz 要算所有路径的不同颜色之和,多次修改,每次修改后询问. 对每种颜色\(c\)计算多少条路径包含了这个颜色,不好算所以算多少条路径不包含这个颜色 ...

  5. Cocos Creator开发hello World

    若本号内容有做得不到位的地方(比如:涉及版权或其他问题),请及时联系我们进行整改即可,会在第一时间进行处理. 请点赞!因为你们的赞同/鼓励是我写作的最大动力! 欢迎关注达叔小生的简书! 这是一个有质量 ...

  6. 初识es

    初识es es是什么? es是基于Apache Lucene的开源分布式(全文)搜索引擎,,提供简单的RESTful API来隐藏Lucene的复杂性. es除了全文搜索引擎之外,还可以这样描述它: ...

  7. mysql 通配符%以及_

    %匹配任意长度 _ 匹配单个字符 mysql> select * from table1; +----------+------------+-----+-------------------- ...

  8. 微信公众号_Deejo说_2019

    说明: 1. 文中的内容均来自Deejo说微信公众号 2. 微信中搜索"Deejo说"公众号,可关注 麻麻英语 ——2019.09.10—— It’s my treat. 我来请客 ...

  9. 面试问我 Java 逃逸分析,瞬间被秒杀了。。

    记得几年前有一次栈长去面试,问到了这么一个问题: Java中的对象都是在堆中分配吗?说明为什么! 当时我被问得一脸蒙逼,瞬间被秒杀得体无完肤,当时我压根就不知道他在考什么知识点,难道对象不是在堆中分配 ...

  10. sparkUI

    sparkUI 源码: https://www.cnblogs.com/barrenlake/p/4364644.html 页面介绍: https://blog.csdn.net/qq_2763977 ...