复习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如何保障数据的高可用?
    [图片]

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

告别复制粘贴:AI辅助毕业论文写作全攻略

写作这件事一直让我们从小学时期就开始头痛,初高中时期800字的作文让我们焦头烂额,一篇作文里用尽了口水话,拼拼凑凑才勉强完成。 大学时期以为可以轻松顺利毕业,结果毕业前的最后一道坎拦住我们的是毕业论文,这玩意不…

vue配置代理服务器解决跨域方法

一.vue配置代理服务器解决跨域方法一 过程如图: 1.在配置文件中设置代理服务器的地址 //vue.config.js module.exports{pages:{index:{// 入口entry:src/main.js,},},lintOnSave:false, //关闭语法检测// 开启代理服务器devServer:{proxy:http://localhost:8000//…

cruscal算法经典题目讲解——Leetcode道路建设

道路建设 (nowcoder.com) kruscal例题: 由题目可得,给出n个点求出n个点的最小生成树,权值计算规则为两点间的曼哈顿距离 我们采用cruscal算法实现。首先我们要先构建路线edge,我们建立一个结构体edge表示路线,包含成…

Ubuntu Todesk远程连接一直卡在100%

关于Todesk远程Linux卡在连接服务器的解决方案 在网上看到很多篇文章都说改硬解码什么的 反正我试过是没用 下面是我的解决方案 编辑下面的文件 sudo vim /etc/gdm3/custom.conf 这里如果大家不会使用 vim 退出 1. 按一下ESC键 2. 同时按住shfit: 3. 输入wq 4. 回车重启系…

【Unity Shader入门精要 第12章】屏幕后处理效果(三)

1. Bloom效果 Bloom描述的是图像中较亮的部分向周围一定范围内发生扩散,造成一种朦胧的效果,常用于表现游戏中的灯光或隧道出口之类的效果。 下面的例子将实现一个简单的Bloom效果,其原理是: 将原始图像中较亮(灰度…

Word2021中的The Mathtype DLL cannot be found问题解决(office 16+mathtype7+非初次安装)

问题描述,我的问题发生在word中无法使用自定义功能区中的mathtype 我的环境是:W11Word2021mathtype7 因为我是第二次安装mathtype7,所以我怀疑是因为没有卸载干净,于是我参考了下面这篇文章的做法 参考文章 1.首先重新卸载当前的…

IO流---字节流.Java

一,概述 IO流是存储和读取数据的解决方案。 I:input O:output流:像水流一样传输数据 因为IO流与File是息息相关的,所以在学习IO流之前,简单回顾一下File:😄😊&#…

数据结构--数组(详细分析)

目录 🍉引言 🍉数组 🍈数组的特性 🍈数组的优缺点 🍍优点: 🍍缺点: 🍈数组的声明与初始化 🍈数组的常见操作 🍍 插入操作 🍍…

QTP——功能测试

一、前言(课设目的及内容) QTP是quicktest Professional的简称,是一种自动测试工具。使用QTP的目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。因此你在测试前要考虑好如何对应用程序进行测试&…

46、Flink 的 异步 I/O 算子详解

异步 I/O 1.需求 在与外部系统交互(用数据库中的数据扩充流数据)时,需要考虑与外部系统的通信延迟对整个流处理应用的影响。 同步交互:使用 MapFunction访问外部数据库的数据, MapFunction 向数据库发送一个请求然后…

企业软件产品和服务 之 设计保证安全 七项承诺

1. 引言 公司如何保护自己免受数据泄露的影响?标准答案就是: “启用多因素身份验证”——MTA(Enable multifactor authentication)。 但是,目前很多公司仍然盲目地只使用密码作为唯一的身份来源。 网络安全的核心是…

IPD推行成功的核心要素(九)需求管理助力产品从一次成功走向一直成功

在当今竞争激烈的商业环境中,项目的成功与否往往取决于其能否满足用户和利益相关者的需求。然而,理解、捕捉和有效管理这些需求并非易事。因此,需求管理在项目管理中扮演着至关重要的角色。需求管理是一个系统性的过程,旨在确保项…

直播分享|深入解析ts-morph:通过注释生成类型文档

♪ ♫ 你看小狗在叫 树叶会笑 风声在呢喃♫ ♪ 乘风追梦,童心未泯 OpenTiny 预祝所有大朋友、小朋友儿童节快乐~ 与此同时,OpenTiny 贡献者直播也即将开启啦~ 直播主题:【深入解析ts-morph:通过注释生成类型文档】 6月1日&am…

前驱图,程序执行和进程状态

目录 前驱图 程序的执行 顺序执行 并发执行 进程的定义 进程的状态 总结 前驱图 现在有两个任务分别为p1,p2; 只有执行了p1,才可以执行p2,此时可以称p1为p2的前驱。通过符号语言表示如下: p1->p2 程序的执行 下面引进一段代码来理解进程的概念…

IDEA 学习之 疑难杂症系列

IDEA 学习之 疑难杂症系列 1. Mapstruct 编译空指针问题 1.1. 现象 NullPointerException at org.mapstruct.ap.internal.processor.DefaultVersionInformation.createManifest1.2. 原因 MapStruct 在 IDEA 2020.3 版本编译 NPE 问题 1.3. 解决办法 2. IDEA 学习之 编译内…

什么牌子的开放式耳机质量好?2024超强实力派品牌推荐!

耳机对于一个音乐人有重要这个不必多说,我朋友是个音乐编辑,他经常需要长时间佩戴耳机进行音频编辑和混音工作。在尝试过多款开放式耳机后,都没找到合适的。今天,我将从专业角度为大家带来几款热门开放式耳机的测评报告&#xff0…

Python 高级数据类型

列表List 定义列表 可以将不同的基本数据类型或者列表装到一个列表里 my_list [1,2,3,4,5] print(my_list) # [1, 2, 3, 4, 5] 直接打印出列表的内容 print(type(my_list)) # <class list>my_list ["1","2","3","4","…

MYSQL之安装

一&#xff0c;下载仓库包 wget -i -c https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm二&#xff0c;安装仓库 yum -y install mysql80-community-release-el7-3.noarch.rpmsed -i s/gpgcheck1/gpgcheck0/g mysql-community.repo三&#xff0c;安装MY…

免费SSL证书的安全性与获取指南

SSL证书是一种数字凭证&#xff0c;用于加密用户与网站之间的信息交换&#xff0c;以确保传输的数据不被第三方窃取。它像是一个数字版的密封印章&#xff0c;为数据的传输过程提供了一层保护膜。 免费的SSL证书通常由CA机构提供&#xff0c;它们同样可以提供基础数据的加密服…

瑞吉外卖项目整体介绍

黑马程序员瑞吉外卖 文章目录 一、项目介绍二、产品原型展示三、技术选型四、功能架构五、角色 一、项目介绍 二、产品原型展示 产品原型&#xff0c;就是一款韩品成型之前的一个简单的框架&#xff0c;就是将页面的排版布局展现出来&#xff0c;使产品的初步构思有一个可视化…