Kafka 入门到起飞 - 核心概念(术语解释)

这篇具有很好参考价值的文章主要介绍了Kafka 入门到起飞 - 核心概念(术语解释)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Kafka 入门到起飞 - 核心概念(术语解释),kafka,kafka,linq,分布式

在kafka之旅,我们会大量讨论Kafka中的术语,那么就让我们先来了解一下这些核心概念

消息(Message):
kafka的数据单元称为消息,相当于DB里的一行数据一条记录
消息由字节数组组成
批次:

生产者组一批数据再向kafka推送,批次大小可以通过参数配置

把消息分成批次传输(消息属于同一个主题,同一个分区),减少网络开销
批次越大,单位时间内处理的消息越多,单个消息传输时间越长
批次数据进行压缩,吞吐量可达千万条消息每秒(rabblitMQ 只能达到万级消息/s,延迟低,微妙级)
producer在向topic发送消息前,会对这一批次消息进行压缩处理
压缩需要CPU进行计算,对CPU性能有要求

压缩带来的磁盘空间和带宽的节省,远大于CPU开销的代价,这样的压缩是值得的

模式:
数据序列化、反序列化方式

主题(Topic):
消息通过主题进行分类
生产者向指定Topic发送数据,消费者订阅该Topic消费数据

逻辑概念,相当于数据库里的表或文件系统的文件夹

分区(Partition):

topic物理上的分组,就是把一个主题下的消息分散存储
通常一个topic下的分区分散在kafka集群的不同实例(broker)上,producer向一个topic发送消息会发送给不同分区中,这样消息就可以实现并行发送与处理,增加吞吐量
当一台机器能力不足时,可以通过添加机器横向扩展broker,在新的机器上创建分区,这样就可以实现无限水平扩展

一个主题可以有多个分区,可以横向扩展
Kafka 通过分区来实现数据冗余和伸缩性
消息顺序写入分区,每个分区时一个有序队列,kafka不保证跨分区消息有序
Kafka 入门到起飞 - 核心概念(术语解释),kafka,kafka,linq,分布式
片段(Segment): 每个分区物理上由多个segment组成,实际存储消息的物理文件,一个片段默认大小为1GB,可以通过配置文件修改,当消息追加到1GB大小后,会创建新的segment文件

一个segment包含3个文件,命名规则:每个segment文件最后一条消息offset的值,没有数字用0补充
00000000000000000000.index 索引文件
00000000000000000000.log 数据文件,实际存储消息数据的文件,二进制格式
00000000000000000000.timeindex 基于消息日期的索引文件 (根据日期或者时间查找消息)

消费者组:
消费者组保证每一个分区消息只被消费者组内一个消费者消费
Kafka 入门到起飞 - 核心概念(术语解释),kafka,kafka,linq,分布式
broker:
每个broker就是kafka集群一个实例,一个节点,一台独立的服务器
broker 接收来自producer的message,为message设置offset,提交消息到磁盘保存
broker为consumer提供服务,对consumer读取分区消息的请求做出响应
单个broker可以处理多个分区、每秒百万级吞吐量
集群:
Kafka 入门到起飞 - 核心概念(术语解释),kafka,kafka,linq,分布式文章来源地址https://www.toymoban.com/news/detail-584744.html

到了这里,关于Kafka 入门到起飞 - 核心概念(术语解释)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Kafka 入门到起飞系列 - 消费者组管理、位移管理

    消费者组 - Consumer Group 上文我们已经讲过消费者组了,我们知道消费组的存在可以保证一个主题下一个分区的消息只会被组内一个消费者消费,从而避免了消息的重复消费 消费者组是Kafka 提供的可扩展且具有容错性的消费者机制 消费组有一个或多个消费者,消费者可以是一

    2024年02月15日
    浏览(28)
  • Kafka 入门到起飞系列 - 生产者发送消息流程解析

    生产者通过 producerRecord 对象封装消息主题、消息的value(内容)、timestamp(时间戳)等 生产者通过 send() 方法发送消息,send()方法会经过如下几步 1. 首先将消息交给 拦截器(Interceptor) 处理, 拦截器对生产者而言,对所有消息都是生效的,拦截器也支持链式编程(责任器链)的

    2024年02月16日
    浏览(28)
  • Kafka 入门到起飞 - Kafka怎么做到保障消息不会重复消费的? 消费者组是什么?

    消费者 : 1、订阅Topic(主题) 2、从订阅的Topic消费(pull)消息, 3、将消费消息的offset(偏移量)保存在Kafka内置的一Topic名字是_consumer_offsets的主题中,在Kafka的logs文件下能看到这👟文件,存放的是消息的偏移量数据 消费者组 : 1、订阅同一个Topic的消费者可以加入到一个

    2024年02月15日
    浏览(31)
  • Kafka-核心概念

    消息是Kafka中最基本的数据单元。 消息由一串字节构成,其中主要由key和value构成,key和value也都是byte数组。 key的主要作用是根据一定的策略,将此消息路由到指定的分区中,这样就可以保证包含同一key的消息全部写入同一分区中,key可以是null。 消息的真正有效负载是valu

    2024年01月19日
    浏览(30)
  • Kafka基础架构与核心概念

    Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。架构特点是分区、多副本、多生产者、多订阅者,性能特点主要是高吞吐,低时延。 Kafka主要设计特征如下

    2024年02月15日
    浏览(37)
  • Kafka 入门到起飞 - 什么是 HW 和 LEO?何时更新HW和LEO呢?

    上文我们已经学到, 一个Topic(主题)会有多个Partition(分区) 为了保证高可用,每个分区有多个Replication(副本) 副本分为Leader 和 Follower 两个角色,Leader副本对外提供读写服务,Follower 从Leader同步数据 当Leader副本挂掉,从ISR中选举一个Follower副本成为新的Leader对外继续提

    2024年02月10日
    浏览(28)
  • Kafka消息队列核心概念以及部署

    2023年06月29日
    浏览(38)
  • A Beginner‘s Guide to Apache Kafka: 什么是Kafka、它为什么如此受欢迎、它在哪些场景下可以应用、以及一些基本概念和术语

    作者:禅与计算机程序设计艺术 Apache Kafka(以下简称Kafka)是一个开源分布式流处理平台,它被设计用来实时传输大量的数据,从而能够实时的对数据进行处理并提取价值。本文通过梳理,引导读者了解什么是Kafka、它为什么如此受欢迎、它在哪些场景下可以应用、以

    2024年02月09日
    浏览(49)
  • Kafka 入门到起飞 - 生产者参数详解 ,什么是生产者确认机制? 什么是ISR? 什么是 OSR?

    上回书我们讲了,生产者发送消息流程解析传送门 那么这篇我们来看下,生产者发送消息时几个重要的参数详解 ,什么是生产者确认机制? 什么是ISR? 什么是 OSR? bootstrap.servers : Kafka 集群地址 host1:port1,host2:port2,host3:port3 不需要写Kafka集群中全部的broker地址,但是也不要写

    2024年02月15日
    浏览(27)
  • 深入理解Kafka3.6.0的核心概念,搭建与使用

    Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、Storm/Spark流式处理引擎,we

    2024年02月04日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包