首页 > 其他分享 >kafka 分区概念

kafka 分区概念

时间:2023-10-22 17:13:14浏览次数:31  
标签:消费 分区 偏移量 kafka 概念 副本 leader

消费者api
kafka文档

偏移量和消费位置

主题被分为分区集合,分区内是完全有序的,每一个分区在任何时间只被分给订阅此主题的消费组里的一个消费者消费
每一个分区的偏移量只是一个int,代表着下一个要消费的消息的偏移量

因为每个分区同一时间只被一个消费组里的一个消费者消费,所以消息消费确认不用记录是谁消费的,只需要记录消费的进度,也就是一个偏移量的值。
所以消费者可以倒带消费,因为它消费的那个分区他自己独享的,对其他消费者没有影响
但是这不是代表着kafka的消息消费是顺序的,这只是一个分区的消费是顺序的,所以可以说这个模式只是为了减少消费确认的开销?

忽然想到,主题被分为很多分区,分区还有副本

kafka的每个主题的每个分区都有副本,目的是为了容错
kafka认为副本是一个比较大的开销,而且副本只有出错时才使用,不活跃,所以kafka默认使用副本,复制因子是1

复制的单位是分区
副本的数量包括一个leader和0个或者多个followers
复制因子是包含leader在内的分区数量

所有的写入由leader执行,但是读取可以是leader,也可以是followers

分区被均匀分布在brokers上,leader和follewers 理想状态下具有一致的状态,消息顺序和偏移量都相同

followers 像普通消费者一样消费leader的消息并应用在自己的log,kafka提到这种模式(followers消费leader)好处是followers可以一次性消费多个消息

标签:消费,分区,偏移量,kafka,概念,副本,leader
From: https://www.cnblogs.com/budingbuting/p/17780697.html

相关文章

  • Java基础概念
    JVM(JavaVirtualMachine)java跨平台原理:总结:在需要运行Java应用程序的操作系统上,安装一个与操作系统对应的Java虚拟机(JavaVirtualMachine)即可。JRE(JavaRuntimeEnvironment)是Java程序的运行时环境,包含JVM和运行时所需要的核心类库。我们想要运行一个已有的Java程......
  • Kafka并行度配置
    在SpringKafka中,spring.kafka.listener.concurrency是一个配置属性,用于设置Kafka消息监听器容器的并发消费者数量。它指定了每个主题分区的并发消费者线程数量。具体来说,可以通过以下方式配置spring.kafka.listener.concurrency属性:在SpringBoot应用程序的application.p......
  • kafka分区与消费者配置
    kafka分区与消费者配置工作当中如何计算分区与消费者数量,如何最大化利用资源,防止不必要的浪费,本文将带你计算1.基本概念回顾Kafka是一个分布式流处理平台,具有高吞吐量、可扩展性和容错性。以下是一些Kafka的基本概念:消息:Kafka是一个消息传递系统,它通过生产者将消息发......
  • linux 磁盘分区与格式化
    一、基本分区管理1.1、linux磁盘表示方法介绍硬盘命名方式OSIDE(并口)SATA(串口)SCSICentOS6/dev/hda/dev/sda/dev/sdaCentOS7/dev/sda/dev/sda/dev/sdaCentOS8/dev/sda/dev/sda/dev/sda磁盘设备的命名/dev/sda2s=硬件接口类型(sata/scsi),d=dis......
  • kafka介绍
    Kafka名字的由来kafka的架构师jaykreps对于kafka的名称由来是这样讲的,由于jaykreps非常喜欢franzkafka,并且觉得kafka这个名字很酷,因此取了个和消息传递系统完全不相干的名称kafka,该名字并没有特别的含义。Kafka的诞生kafka的诞生,是为了解决linkedin的数据管道问题,起初linkedin......
  • kafka常用命令
    kafka文件所在位置:cd/UTMGMAPL/upkafka_1.2.11-1.0/bin创建一个模拟生产者./kafka-console-producer.sh--broker-list146.33.240.13:9092--topictopic_tyq_1创建一个模拟消费者./kafka-con......
  • FreeRTOS入门教程(事件组概念和函数使用)
    (文章目录)前言本篇文章将带大家学习什么是事件组以及如何使用事件组。一、事件组概念事件组通常是由一组位(bits)组成的数据结构,其中每一位都对应着某个特定的事件。每个位可以被设置或清除,表示相应的事件发生或未发生。这种位的组合形成了一个类似于二进制数的集合,每个位都代......
  • 深入理解 Docker:探索容器技术的核心概念
    在工作中,我们掌握了微服务的服务注册与发现(nacos)、配置中心(nacos)、远程服务调用(feign)、网关(gateway),同时借助Idea编译工具多次完成本地服务启动、部署和验证。但是我们假想下面场景:开发人员A写好的代码-->开发人员小王的电脑上运行,小周必须保证跟小王一样的系统环境(JDK/MyS......
  • 第一章:Linux的一些基本概念
    一些概念在Linux系统中,每个设备都被当成一个文件对待如,SATA接口的硬盘的文件名即为/dev/sd[a-d]。几乎所有硬件设备文件都在/dev这个目录内。窗口Linux默认会为用户提供六个终端让用户登录,切换方式:Ctrl+Alt+F1~F6其中F1对应图形用户界面模式目录当登录用户为root时,~代表......
  • 使用Grafana + jmx 监控 kafka3.5 的过程
    使用Grafana+jmx监控kafka3.5的过程摘要周五一边进行数据库监控,同时想着部署一套监控系统.能够监控一下kafka等中间件结果不想自己遇到了很多坑.下午有同事语音告诉自己一些排查问题的方式与方法.自己又多花了半个小时才将数据捞出来.感觉自己对很多工具的使用还......