面试大杂烩之kafka

news2024/10/5 19:19:07

面试这个领域最近环境不行,所以卷起来流量挺大 

关于K8s

      其实看我之前的博客,k8s刚有点苗头的时候我就研究过,然后工作的时候间接接触 也自己玩过 但是用的不多就忘记了,正苦于不知道写什么,水一篇 用来面试应该是够了

clickhouse

kafka

搭建:

     总体来说 比较简单,主要是配置文件,命令的话分开了producer /consumer/ topic 大概这么个意思。具体可以看里面的博客 

#host配置
#安装包
wget https://archive.apache.org/dist/kafka/3.2.0/kafka_2.13-3.2.0.tgz
#压缩 配置系统变量
#zk集群搭建 当然kafka自带zk 这都行,集群中zk的配置是都需要改的
#3.x kafka提供了kraft取代zk
https://blog.csdn.net/qq_41865652/article/details/126588263

 点对点:生产者 发送 消息 到队列,消费者从队列 取出 并 消费(消费后不再储存)

     一条消息 只会被一个消费者消费,想发给多个消费者 多次发送

发布/订阅:一对多,多个订阅者消费 消息,数据保留指定期限,默认7天

     同一个消费组 中消费者 不能消费同一个partition中的数据

     一个消费者一个分区(消费组)

0.9 偏移量储存在kafka的topic中

   0.9将offset保存在zk中,0.9及后保存在Kafka“__consumer_offsets”主题

生产者

       生产消息追加到log文件,采用分片/索引机制,将每个partition 分为多个segment,每个segment对应2个文件 index log,同一文件夹(topic名称+分区序号)。

同步

    同步:ISR列表(同步副本 里面的follow与leader同步,选择从这个里面选  H W/LEO)

      HW:消费者能看到的offset,isr队列min的LED ,hw-led待同步的消息

          选leader (epoch,offset)二位数组,前面是任期 后面是标识大小谁最新

      follower故障,从isr剔除,恢复后读取上一次HW高于的截取掉 从hw开始向leader同步 加入isr

  • ack-1 数据不丢但会重,生产者pid消息seqnumber 如pid partion seqnumber一样,重复数据
  • 0不重复 丢失

消费者

拉取pull,无消息 死循环,消费者 消费数据时传递timeout参数,当时无数据 等待一段时间再返回

topic多个partion

  • 轮询rountRobin对topic组生效,一个消费组内all消费者订阅主题是一样的
  • rang单个topic生效,数据不均衡

消费者不能同时消费 同组的 同一个分区

分区策略:消费者组 消费者个数 发生变化

offset维护

断电 宕机,消费者恢复后 记录的offset(zk/kafka)

  消费者/topic/partion 确定offset 

流程

producer两个线程,主线程 拦截/序列化/分区==》处理消息 到 消息累加器(32M / 队列) producerBatch批量发送到sender线程,批量组织request 给selector 送到kafka

   kafka的pageCache 异步刷盘 flusher 追加到日志文件

       partition . segment:

            log 存储数据 位置:offset 

            index索引,相对位移:物理位置;稀疏索引  msg设置指针 mmap进行内存操作

   被消费ack 清缓存

   消费者带着offset,去fetch 利用sendfile底层NIO(transferTo/transferFrom)

消费者能力不足:

增加消费者数量

主题增加分区,消费者并行处理能力

   

优化消费逻辑,多线程

max.poll.interval.msrang消费者更长时间处理消息

监控 报警 /及时调整

   kafka内置指标

kafka stream:内置了自适应调节机制

数据清理策略:及时清理

启动kafka压缩

   compression.type,none不压缩/lz4压缩 加大cpu开销

升级版本

命令

topic的./bin/kafka-topics.sh

生产者./bin/kafka-console-producer.sh

消费者./bin/kafka-console-consumer.sh

大数据之Kafka(心得)_集群级kafka数据消费的挑战与实践-CSDN博客

Kafka集群搭建及生产者消费者案例_kafka 消费者组 多机器-CSDN博客

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

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

相关文章

【设计模式】JAVA Design Patterns——Static Content Hosting(静态内容托管模式)

🔍目的 将静态内容部署到基于云的存储服务,该服务可以将它们直接交付给客户端。 这可以减少对昂贵计算实例的需求。 🔍解释 真实世界例子 全球性的营销网站(静态内容)需要快速的部署以开始吸引潜在的客户。为了将托管…

Weblogic XML反序列化漏洞 [CVE-2017-10271]

漏洞环境搭建请参考 http://t.csdnimg.cn/i11e2 漏洞原理 Weblogic的wls security组件对外提供webservice服务,wls security组件使用了xmldecoder来解析用户传入的xml数据,如果用户进行xml恶意数据的构造,即可触发反序列化漏洞 漏洞版本 O…

LLMs之PEFT之Llama-2:《LoRA Learns Less and Forgets LessLoRA学得更少但遗忘得也更少》翻译与解读

LLMs之PEFT之Llama-2:《LoRA Learns Less and Forgets LessLoRA学得更少但遗忘得也更少》翻译与解读 导读:该论文比较了LoRA与完全微调在代码与数学两个领域的表现。 背景问题:微调大规模语言模型需要非常大的GPU内存。LoRA这一参数高效微调方…

Leetcode | 5-22 | 每日一题 | 找出输掉零场或一场比赛的玩家

🔥博客介绍: EvLast 🎥系列专栏: 数据结构与算法 , 算法入门 , C项目 , Leetcode_DayCode 🎥 当前专栏: Leetcode_DayCode 专题 : 数据结构帮助小白快速入门算法 👍👍👍&#x1…

避免锁表:为Update语句中的Where条件添加索引字段

最近在灰度环境中遇到一个问题:某项业务在创建数据时耗时异常长,但同样的代码在预发环境中并未出现此问题。起初我们以为是调用第三方接口导致的性能问题,但通过日志分析发现第三方接口的响应时间正常。最终,我们发现工单表的数据…

VTK 数据处理:特征边提取

VTK 数据处理:特征边提取 VTK 数据处理:特征边提取原理实例 1:边界边提取实例 2:模型特征边提取实例 3:利用 vtkFeatureEdges 提取的边界补洞实例 4:利用 vtkFillHolesFilter 补洞 VTK 数据处理&#xff1a…

cs与msf权限传递以及mimikatz抓取win2012明文密码

简单的介绍 cs与msf的简单介绍 我查找过资料得出,Cobalt Strike 的前身是 Armitage,而 Armitage 又可以理解为 Metasploit Framework 的图形界面版,因此 Cobalt Strike 与 Metasploit Framework 在很多地方都是兼容的,所以我们便…

开源免费绘画软件—Krita

一、前言 Krita是一款自由开源的数字绘画软件,适用于Windows、macOS和Linux操作系统。它被广泛用于制作漫画、接景、材质和插画等多种类型的数字艺术作品。Krita的主要目标是提供合适的工具,让画师可以从头到尾完成一幅数字绘画作品的创作。 Krita具备强…

5. C++网络编程-UDP协议的实现

UDP是无连接的。 UDP Server网络编程基本步骤 创建socket,指定使用UDP协议将socket与地址和端口绑定使用recv/send接收/发送数据 由于UDP是无连接的,直接侦听就行使用close关闭连接 这个UDP接收数据的时候用的API是recvfrom,发送数据是sendto 客户端 …

检测头篇 | YOLOv8改进之添加小目标检测头 / 添加大目标检测头 / 减少检测头

前言:Hello大家好,我是小哥谈。本文首先给大家展示原始YOLOv8的网络结构图,然后再对其进行改变,即增加小目标检测头、增加大目标检测头和减少检测头。🌈 目录 🚀1.网络结构图

pikachu靶场中的CSRF、SSRF通关

目录 1、CSRF介绍 2、CSRF(get) 3、CSRF(post) 4、CSRF Token 5、SSRF介绍 6、SSRF(curl) 7、SSRF(file_get-content) 8、CSRF与SSRF的区别 最近在学习CSRF、SSRF漏洞&#…

ASP+ACCESS酒店房间预约系统设计

摘要 随着国内经济形势持续发展,国内酒店业进入难得的发展高峰期,使得中外资本家纷纷将目光投向中低端市场。然而,中国酒店业的区域结构不合理、竞争手段不足和市场对经济型酒店的需求日益显露,以及2008年北京奥运会、2010年上海…

【全网最全】2024电工杯数学建模A题成品论文+前三题完整解答matlab+py代码等(后续会更新成品论文)

您的点赞收藏是我继续更新的最大动力! 一定要点击如下的卡片链接,那是获取资料的入口! 【全网最全】2024电工杯数学建模A题成品论文前三题完整解答matlabpy代码等(后续会更新成品论文)「首先来看看目前已有的资料&am…

Python | Leetcode Python题解之第112题路径总和

题目: 题解: class Solution:def hasPathSum(self, root: TreeNode, sum: int) -> bool:if not root:return Falseif not root.left and not root.right:return sum root.valreturn self.hasPathSum(root.left, sum - root.val) or self.hasPathSum…

微信小程序预览图片和H5使用canvas实现图片+蒙层+文字

1、效果 2.H5实现 <!--* Author: limingfang* Date: 2024-05-20 10:26:51* LastEditors: limingfang* LastEditTime: 2024-05-21 16:31:11* Description: --> <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8&q…

自动驾驶场景中的长尾问题怎么解决?

自动驾驶长尾问题是指自动驾驶汽车中的边缘情况&#xff0c;即发生概率较低的可能场景。感知的长尾问题是当前限制单车智能自动驾驶车辆运行设计域的主要原因之一。自动驾驶的底层架构和大部分技术问题已经被解决&#xff0c;剩下的5%的长尾问题&#xff0c;逐渐成了制约自动驾…

Rustdesk客户端源码编译

1.安装VCPKG windows平台vcpkg安装-CSDN博客 2.使用VCPKG安装: windows平台vcpkg安装-CSDN博客 配置VCPKG_ROOT环境变量: 安装静态库: ./vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static 静态库安装成…

Polar 上传

Polar 上传 开题&#xff0c;是一个文件上传界面 对文件后缀有过滤 测试了一下是黑名单&#xff0c;过滤了php相关的文件&#xff0c;但是没过滤.ini、.htaccess后缀的文件 对内容的过滤是<?、file&#xff0c;所以不能用.user.ini配置文件绕过 我们选择使用.htaccess配置…

React(四)memo、useCallback、useMemo Hook

目录 (一)memo API 1.先想一个情景 2.用法 (1)props传入普通数据类型的情况 (2)props传入对象的情况 (3)props传入函数的情况 (4)使用自定义比较函数 3.什么时候使用memo&#xff1f; (二)useMemo Hook 1.用法 2.useMemo实现组件记忆化 3.useMemo实现函数记忆化 …

python列表生成式的妙用:区间内奇数求和

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言 二、案例背景 三、实现步骤 四、案例验证 五、总结 一、引言 在Python编程中&a…