复习kafka

Kafka 介绍
Kafka 是一种分布式的,基于发布/订阅的消息系统。它最初由 LinkedIn 开发,并于 2011 年开源。Kafka 的设计目标是提供一种高效、可靠的消息传输机制,能够处理大量的实时数据。
Kafka 基本概念

  1. Producer:生产者,负责将消息发布到 Kafka 主题中。

  2. Consumer:消费者,负责从 Kafka 主题中订阅消息并进行处理。

  3. Broker:Kafka 服务器,负责存储和管理消息。

  4. Topic:主题,是消息的分类,类似于邮件的标签。

  5. Partition:分区,是 Kafka 中存储消息的单元,每个主题可以被分为多个分区。

  6. Offset:偏移量,是每个分区中消息的唯一标识。
    Kafka 工作原理

  7. 生产者将消息发送到 Kafka 服务器的指定主题中。

  8. Kafka 服务器将消息存储到对应的分区中,并为每个消息分配一个唯一的偏移量。

  9. 消费者通过订阅主题来接收消息,并根据偏移量来标识已经消费的消息。

  10. 消费者可以按照自己的需求来处理消息,例如将消息写入数据库,或者进行实时分析。
    Kafka 优势

  11. 高吞吐量:Kafka 能够支持每秒百万级别的消息处理。

  12. 可靠性:Kafka 提供了数据的冗余存储和容错机制,保证消息不丢失。

  13. 分布式:Kafka 是一个分布式系统,支持水平扩展,可以轻松应对大规模的数据处理需求。

  14. 实时性:Kafka 支持实时的消息传输,保证消息的实时性。

  15. 可扩展性:Kafka 提供了丰富的 API 和插件,方便用户进行二次开发和扩展。
    Kafka 应用场景

  16. 日志处理:Kafka 可以用于收集和处理大规模的日志数据,例如网站日志、应用日志等。

  17. 数据传输:Kafka 可以用于在不同的系统之间传输数据,例如将数据从数据库同步到数据仓库。

  18. 实时数据处理:Kafka 可以用于实时处理和分析数据,例如实时监控、实时推荐等。

  19. 分布式事务:Kafka 可以用于实现分布式事务,保证数据的一致性。
    Kafka 总结
    Kafka 是一种非常强大的分布式消息系统,它具有高吞吐量、可靠性、实时性、可扩展性等优势,被广泛应用于日志处理、数据传输、实时数据处理、分布式事务等领域。通过对 Kafka 的学习,我们了解了它的基本概念、工作原理、优势和应用场景。在以后的工作中,我们可以根据实际需求来选择是否使用 Kafka,以及如何更好地使用 Kafka 来解决问题。
    Kafka 动画演示

  20. 篮球比赛,实况转播相当于消费者,不同的移动端看比赛相当于是消费者。

  21. 数据都写入队列中,队列相当于是硬盘
    [图片]

  22. 单队列转播效率太低,可以搞多个队列

  23. 生产者将不同比赛的信息发送到不同的队列,消费者自主选择队列
    [图片]

  24. 这些不同的队列在kafka内分成不同的分区partition,队列整体叫做topic

  25. 分区的每条记录叫做record

  26. Partition key相当于比赛的队

  27. 每条消息在分区中的位置被称为消息的offset,顺序从0开始单调递增
    [图片]

  28. 消费者如何消费数据

  29. 每个消费者可以topic中所有的partition

  30. 消费者进行划分,同一个的组的数据只能去指定的分区中消费
    [图片]

  31. Kafka如何保障数据的高可用?
    [图片]

分区存在副本,每个副本的功能是备份。
[图片]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/21016.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot 官方不再支持 Spring Boot 的 2.x 版本!新idea如何创建java8项目

idea现在只能创建最少jdk17 使用 IDEA 内置的 Spring Initializr 创建 Spring Boot 新项目时,没有 Java 8 的选项了,只剩下了 > 17 的版本 是因为 Spring Boot 官方不再支持 Spring Boot 的 2.x 版本了,之后全力维护 3.x;而 …

ArcGIS属性域和子类型

01 属性域 道路的车道数值是小于10的。在编辑道路的此属性时,为了限制其值在10以内,可以使用属性域。当输入数据超过10时,就会限制输入。 限制输入这个功能是Pro特有的,在ArcMap中输入超出限制的值也是合法的,需要手动…

【NOIP提高组】进制转换

【NOIP提高组】进制转换 💖The Begin💖点点关注,收藏不迷路💖 我们可以用这样的方式来表示一个十进制数:将每个阿拉伯数字乘以一个以该数字所处位置的(值减1)为指数,以 10 为底数的幂…

Mac硬件设备系统环境的升级/更新 macOS

Mac硬件设备上进行系统环境的升级/更新macOS 1.大版本(升级)判断(比如:我买的这台电脑设备最高支持Monterey) 点击进入对应的大版本描述说明页查看相关的兼容性描述,根据描述确定当前的电脑设备最高可采用哪个大版本系统(Sonoma/Ventura/Monterey/Big Su…

构建高效便捷的家政平台系统——打造优质家政服务的关键

随着人们生活节奏的加快和工作压力的增大,家政服务的需求日益增长。为了满足这一需求,家政平台系统应运而生。本文将探讨家政平台系统的整体架构,以实现高效便捷的家政服务,打造优质家政体验。 ### 1. 家政平台系统背景 随着现代…

PKG系统安装包及IPSW固件下载(MacOS 11-14)11.7.10/12.7.1/13.6.

MacOS 14 Sonoma,为提高生产力和创造力带来了全新的功能,有了更多使用小部件和令人惊叹的新屏幕保护程序进行个性化设置的方法,对Safari浏览器和视频会议进行了重大更新,以及优化的游戏体验——Mac体验比以往任何时候都更好。 下载…

C++中的类

一,类的定义 class classname {//类体由成员函数和成员变量组成}; class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分 号不能省略。 类的两种定义方式: 声明和定义全部放在类体中…

从集合论到位运算

前言 本文将扫清位运算的迷雾,在集合论与位运算之间建立一座桥梁。 在高中,我们学了集合论(set theory)的相关知识。例如,包含若干整数的集合 S{0,2,3}。在编程中,通常用哈希表(hash table&…

自然资源-农村土地流转知识全解

自然资源-农村土地流转知识全解 随着农村经济的发展和城市化进程的加快,农村土地面临着多方面的压力,如人口增长、城市扩张、环境恶化等。这些压力导致了农村土地利用率低、经济效益差、农民收入水平低、农村社会经济不发达等问题。因此,改变…

计算机网络学习2

文章目录 信道复用技术 第三章数据链路层概述数据链路层的三个重要问题封装成帧和透明传输差错检测可靠传输的相关基本概念可靠传输的实现机制停止等待协议回退N帧协议选择重传协议 点对点协议PPP共享式以太网网络适配器和MAC地址CSMA_CD协议的基本原理共享式以太网的争用期共享…

备战十一届大唐杯国赛预选赛

这次省赛带了太多个省一了,具体可看下面的图片,只放了一部分。目前根据可靠消息,应该还有个预选赛和去年一样,就是还会考一次仿真。如果说通过了就是国二起步然后去北方工业争夺国一国二,没过的话就是国三。 每…

<MySQL> 表的增删改查 - 基本查询

目录 前言: 一、表的插入 (一)指定列插入和多行插入 (二)全列插入 (三)插入选择更新 (四)替换数据 二、表中的数据查询 (一)select查询语…

【SQL学习进阶】从入门到高级应用【三范式】

文章目录 什么是数据库设计三范式三范式一对多怎么设计多对多怎么设计一对一怎么设计最终的设计 🌈你好呀!我是 山顶风景独好 💕欢迎来到我的博客,很高兴能够在这里和您见面! 💕希望您在这里可以感受到一份…

sql注入-布尔盲注

布尔盲注(Boolean Blind SQL Injection)是一种SQL注入攻击技术,用于在无法直接获得查询结果的情况下推断数据库信息;它通过发送不同的SQL查询来观察应用程序的响应,进而判断查询的真假,并逐步推断出有用的信…

低代码选型要注意什么问题?

低代码选型时,确实需要从多个角度综合考虑,以下是根据您给出的角度进行的分析和建议: 公司的人才资源: 评估团队中是否有具备编程能力的开发人员,以确保能够充分利用低代码平台的高级功能和进行必要的定制开发。考察实…

告别繁琐SQL,4K星开源神器让数据库管理像聊天一样简单!

大家好,今天我要给大家介绍一个超级棒的开源项目——SQL Chat。如果你是一名开发者,数据库管理员,或者对数据分析感兴趣,那你绝对不能错过这个神器。SQL Chat,一个近4K星的GitHub项目,它将彻底改变你与数据…

本地安装AI大模型

使用ollmam安装llmama3等模型 1.打开ollmam下载对应系统的软件,安装即可 官网:Ollama, 安装直接点就就行了,没有其他操作 2.安装模型 在官网找到对于的模型下载命令 记录命令:ollama run llama3 打开一个cmd窗口,输…

【已解决】HtmlWebpackPlugin.getHooks is not a function

安装下面的依赖,获得 html-webpack-plugin 的 beta 版本 npm i html-webpack-pluginnext --save此问题在github上有讨论:https://github.com/facebook/create-react-app/issues/5465

【UE5.1 角色练习】09-物体抬升、抛出技能 - part1

前言 在上一篇(【UE5.1 角色练习】08-传送技能)的基础上继续实现控制物体抬升、抛出的功能。 效果 步骤 一、准备技能动画 1. 在项目设置中新建一个操作映射,这里命名为“Skill_GravityControl”,用按键4触发 2. 通过IK重定向…

git远程仓库限额的解决方法——大文件瘦身

Git作为世界上最优秀的分布式版本控制工具,也是优秀的文件管理工具,它赋予了项目成员对项目进行远程协同开发能力,因此受到越来越多的行业从业人员的喜爱。很多优秀的项目管理平台,比如国内的Gitee,国外的Github&#…