首页 > 其他分享 >11_Kafka高级_工作流程

11_Kafka高级_工作流程

时间:2022-11-17 12:35:43浏览次数:45  
标签:11 22 流程 偏移量 Kafka 发送 follower leader 分区


kafka的工作流程和文件存储机制:

11_Kafka高级_工作流程_数据


11_Kafka高级_工作流程_kafka_02


当生产者往一个不存在的主题发送数据的时候,也可以发送。自己会帮你创建主题,一个分区,一个副本。是server.properties文件里面配置的。这是默认值。

我们一般会先创建topic叫做topicA

topicA有三个分区,两个副本。

副本数=2,是说,leader+follower=2

11_Kafka高级_工作流程_偏移量_03


partition-0的follower一定不会和partition-0的leader在同一个broker(节点)。因为没有任何意义。

11_Kafka高级_工作流程_kafka_04


现在生产者往三个broker里面发送消息。可以批量发送,当然一个批次里面只有一条数据也是可以的,也可以一个一个发送。

11_Kafka高级_工作流程_偏移量_05


11_Kafka高级_工作流程_数据_06


这些东西是偏移量。总共发送了15条消息。每一个分区里面维护了一个从头开始的偏移量。不是一个全局的偏移量。

follower做什么事情?

它是一个备份,主动找leader去做同步,备份leader里面备份数据。

但是就算同步了,可能还会数据丢失。

11_Kafka高级_工作流程_数据_07


消费者要保存的偏移量就是offset

11_Kafka高级_工作流程_kafka_08


存数据的时候,给每一个人offset,后面写代码可以看到这个内容。我们可以在producer发送完数据之后,再要求他返回偏移量。就能看到两个分区同步增长。

0号分区有个22,1号分区同样有22。

如果全局有个偏移量的话,不可能同一个主题里面的两个分区,出现两个22.

11_Kafka高级_工作流程_kafka_09


11_Kafka高级_工作流程_kafka_10


11_Kafka高级_工作流程_偏移量_11


每个人都维护了独立的

对于kafkaMQ来说,它不能保证消息的全局有序性,只能保证,区内有序,有序指的是,生产顺序和消费顺序有序,但是如果是全局的话,就不一定有序。

11_Kafka高级_工作流程_kafka_12


kafka种的消息是以主题分类的。

生产者和消费者都是面向主题的。

11_Kafka高级_工作流程_偏移量_13


11_Kafka高级_工作流程_偏移量_14


topic是逻辑上的,找不到文件夹。

我们之前看到的数据是以topic+分区号来命名的(first-0)

没有看到topicA这个文件夹。真正存在的是分区。分区时物理上的概念。


标签:11,22,流程,偏移量,Kafka,发送,follower,leader,分区
From: https://blog.51cto.com/u_15881639/5860643

相关文章

  • 13_Kafka高级_生产者分区策略
    刚才主要讲的是存储的内容,主要的index和.log两个文件。kafka的生产者:有个分区策略:分区的原因:1、可以以partition为单位进行读写2、提高集群的负载能力。生产者分区的原......
  • 09_Kafka入门_数据日志分离
    关闭kafka但是会有延时,关闭的比较慢。之后再看一下就没了,需要等待一下。我们删除每台机器的logs文件夹:我们希望把数据和logs分开来放。这时候,就相当于kafka新装的一样......
  • 15_Kafka高级_生产者ACk机制
    3)ack应答机制对于某些不太重要的数据,对数据的可靠性要求不是很高,能够容忍数据的少量丢失,所以没必要等ISR中的follower全部接收成功。所以Kafka为用户提供了三种可靠性级别......
  • 16_Kafka高级_数据一致性问题
    (1)follower故障follower发生故障后会被临时踢出ISR,待该follower恢复后,follower会读取本地磁盘记录的上次的HW,并将log文件高于HW的部分截取掉,从HW开始向leader进行同步。等......
  • 5-云平台运维监控流程与规范
    云平台运维常见监控工具Zabbix是一个通用的监控工具,Ganglia和hadoop是无缝衔接的,要对接的话只需要修改一个配置文件即可,普罗米修斯主要用于容器的监控。1、ZabbixZabbi......
  • node-v18.11.0-x64.msi安装npm时卡在sill idealTree buildDeps
    造成上述问题的原因是因为node的默认安装环境在国外,因此我们只需要修改下镜像的地址即可npmconfigsetregistryhttps://registry.npm.taobao.org查看是否安装成功:......
  • openjdk11源码编译调试
    一源码二系统工具macOSBigSur11.5.2Xcode12.5.1openjdk11.0.11Make3.81autoconf(GNUAutoconf)2.71Appleclangversion12.0.5(clang-1205.0.22.11)c......
  • rokcetmq消息处理流程解决阻塞线程
    rokcetmq消息处理流程                   上面的处理订单调用采用异步调用解决阻塞问题,解决方式如下结论: ......
  • JavaScript语法特殊语法和流程控制语句以及练习99乘法表
    JavaScript语法_特殊语法1.语句以;结尾,如果一行只有一条语句则;可以省略(不建议)2.变量的定义使用var关键字,也可以不使用用:定义的变量是局部变量不用:定义对的变量......
  • 2022.11.17
    上午打被\(QC\)打就只有T3似乎能用线段树暴力覆盖骗\(30pts\),然而它的值域是\(\left[1,10^9\right]\),需要动态开点。但是我没学过阿。于是就仿照平衡树插入新点......