Kafka第三课
Flume
由三部分 Source Channel Sink
可以通过配置拦截器和Channel选择器,来实现对数据的分流,
可以通过对channel的2个存储容量的的设置,来实现对流速的控制
Kafka
同样由三大部分组成 生产者 服务器 消费者
生产者负责发送数据给服务器
服务器存储数据
消费者通过从服务器取数据
但是,Kafka比Flume要更精细一点
生产者到服务器存数据(发数据):
获取配置->修改配置->拦截器->序列化器->分区器->sender 到broker

服务器如何存数据?
选举leader和发回消息
1.一个分区多个副本的controller同时去抢注册ZK
2.注册成功的监控broker节点变化
3.然后开始选举,选举出来将结果传给zk
4.其他的controller对从zk上同步节点信息(每个controller都会监控zk)
4.1.Leader挂了的话,重新选举, 然后其他controller重新同步
5.选举出来之后,生产者开始发送数据,数据由Leader同步到follower副
6.发送的数据就是Segment(默认1个G),
那么什么是Segment .log .timeindex .index .snapshot leader .metadata
50个consumer_offset 就是存储消费者读取的偏移量
7.向生产者应答

注意一下Leader挂是怎么挂?
1.broker直接挂 2. 数据太多,崩掉
消费者到服务器取数据:
消费者是按topic去读取的,一般都是一个分区对应一个消费者
消费者的offset由消费者自己提交到系统主题保存
按组按照消费策略进行读取

消费者组初始化
1.选出coordinator groupid的哈希值%50 这个组下的所有消费者提交offset都往这个分区提交
2.消费者实例到coordinator注册,然后coordinator选出一个consumer leader
3.Consumer leader制定一个消费方案,发给coordinator 然后coordinator转发
4.每个消费者都和coordinator保持心跳3s,超时(45s)移除该消费者,或者处理时间过长(超过5分钟),触发再平衡,重新制定消费方案


Kafka的高效读写
为什么?
1.Kafka本身分布式集群,分区技术,并行度高
2.读数据采用稀疏索引,可以快速定位要消费的数据
3.顺序写磁盘
他是如何顺序写磁盘的?
因为他的写入方式是追加写入
为什么顺序写磁盘快?
因为不需要寻址时间,而磁盘的寻址时间太长了
页缓存和零拷贝
什么是页缓存?
操作系统在内存中的缓存机制,
存: 存到页缓存 ->存到磁盘 取->先看页缓存有没有->没有就看磁盘
什么是零拷贝?
传输: 一般传输 ->s 内存->内核缓冲区->e网络设备 零拷贝 内存->网络设备

零拷贝: Kafka的数据加工处理操作交由Kafka生产者和Kafka消费者处理。而Broker应用层不关心存储数据,不用走应用层
消费者如何提高吞吐量?
1.如果消费者对分区不是1对1 ,加消费者
2.提高每批次拉数据的数量
相关文章:
Kafka第三课
Flume 由三部分 Source Channel Sink 可以通过配置拦截器和Channel选择器,来实现对数据的分流, 可以通过对channel的2个存储容量的的设置,来实现对流速的控制 Kafka 同样由三大部分组成 生产者 服务器 消费者 生产者负责发送数据给服务器 服务器存储数据 消费者通过从服务器取…...
elasticsearch修改es集群的索引副本数量
前言 最近es集群进行调整,从2节点变成了单节点。所以需要将集群模式改为单点模式,并需要将es 集群的全部索引副本个数改为0,不然会有很多未分配的分片,导致集群状态为 yellow。 具体实践 1. 先将现有的index的副本数量为0个 此…...
【SpringCloud】Ribbon定制化配置
文章目录 使用Ribbon自带负载均衡算法添加负载均衡算法ConfigurationRestTemplate使用上面负载均衡算法 自定义负载均衡算法负载均衡算法实现RestTemplate在Controller中使用该负载均衡算法ServiceIInstance解释 使用Ribbon自带负载均衡算法 添加负载均衡算法Configuration /…...
Mac terminal 每次打开都要重新配置文件
1. 问题描述 每次打开 Terminal,base_profile文件中配置的内容就不生效,需要重新执行source ~/.bash_profile才可以使用。 2. 原因分析 zsh加载的是~/.zshrc文件,而.zshrc 文件中并没有定义任务环境变量。 3. 解决办法 在~/.zshrc文件末尾添…...
el-button实现按钮,鼠标移入显示,移出隐藏
2023.8.18今天我学习了 如何实现鼠标移入显示按钮,鼠标移出隐藏按钮。 效果如图: 鼠标移入时: 鼠标移出时: mouseover //鼠标移入事件 mouseleave //鼠标移出事件 原本我是想直接在el-button写入这两个方法,但是elem…...
uniapp+uview封装小程序请求
提要: uniapp项目引入uview库 此步骤不再阐述 1.创建环境文件 env.js: let BASE_URL;if (process.env.NODE_ENV development) {// 开发环境BASE_URL 请求地址; } else {// 生产环境BASE_URL 请求地址; }export default BASE_URL; 2.创建请求文件 该…...
idea常见错误大全之:解决全局搜索失效+搜索条件失效(条件为空)+F8失灵
问题一:全局搜索快捷键ctrlshiftf 突然失灵了,键盘敲烂了 都没反应,这是为什么呢? 肯定不是idea本身的原因,那么就是其它外在因素影响到了idea的快捷键,那么其它的快捷键为什么没失效呢,原因只有…...
【论文阅读】基于深度学习的时序预测——LTSF-Linear
系列文章链接 论文一:2020 Informer:长时序数据预测 论文二:2021 Autoformer:长序列数据预测 论文三:2022 FEDformer:长序列数据预测 论文四:2022 Non-Stationary Transformers:非平…...
02.FFMPEG的安装和添加硬件加速自编译
说一个极其郁闷的事情,就在昨天收到3399的一块板子后,往电脑上面一插,然后悲剧的事情就发生了,我的电脑蓝屏重启了,这下好了,我写到一半的帖子也不见了,我的SSH里面的记录全部消失了,…...
elementUI 的上传组件<el-upload>,自定义上传按钮样式
方法一: 原理:调用<el-upload>组件的方法唤起选择文件事件 效果: 页面代码: 1、选择图片按钮 <div class"flex_row_spacebetween btn" click"chooseImg"><span class"el-icon-plus ic…...
【卷积神经网络】卷积,池化,全连接
随着计算机硬件的升级与性能的提高,运算量已不再是阻碍深度学习发展的难题。卷积神经网络(Convolution Neural Network,CNN)是深度学习中一项代表性的工作,CNN 是受人脑对图像的理解过程启发而提出的模型,其…...
【SA8295P 源码分析】76 - Thermal 功耗 之 /dev/thermalmgr 相关调试命令汇总
【SA8295P 源码分析】76 - Thermal 功耗 之 /dev/thermalmgr 相关调试命令汇总 1、配置文件:/mnt/etc/system/config/thermal-engine.conf2、获取当前SOC所有温度传感器的温度:cat /dev/thermalmgr3、查看所有 Thermal 默认配置和自定义配置:echo query config > /dev/th…...
以太网(一):PoE供电
一、定义: PoE系统包括供电端设备(PSE)和受电端设备(PD)两部分PoE(Power over Ethernet):是一种可以在以太网中透过双绞线来传输电力与数据到设备上的技术PSE(Power S…...
骨传导耳机游泳能戴吗?骨传导游泳耳机哪个牌子好?
溽热的夏日,如果能够跳入水中畅游一番,那真的是再好不过了,既能强身健体,又能降温解暑。公共的游泳场馆人声鼎沸,像我这种“社恐”患者,如果在场馆中要待好几个小时,难免会觉得时间漫长…...
18万字应急管理局智慧矿山煤矿数字化矿山技术解决方案WORD
导读:原文《18万字应急管理局智慧矿山煤矿数字化矿山技术解决方案WORD》(获取来源见文尾),本文精选其中精华及架构部分,逻辑清晰、内容完整,为快速形成售前方案提供参考。 目 录 第一章 项目概述 1.1项目…...
【mysql】MySQL CUP过高如何排查?
文章目录 一. 问题锁定二. QPS激增会导致CPU飘高三. 慢SQL会导致CPU飘高四. 大量空闲连接会导致CPU飘高五. MySQL问题排查常用命令 一. 问题锁定 通过top命令查看服务器CPU资源使用情况,明确CPU占用率较高的是否是mysqld进程,如果是则可以明确CUP飘高的原…...
lua实现http的异步回调
想用lua实现与http服务器的通信,请求一些数据会回来,默认lua.socket.http是同步的,所以想弄一个异步的方式 测试环境 lua 5.1 同步 以下是同步的代码,其中http.request会被阻塞住的 local function send_request()local res,…...
云服务 Ubuntu 20.04 版本 使用 Nginx 配置SSL证书和nginx从HTTP跳转到HTTPS
1.云服务申请免费的SSL证书 2.从云服务SSL证书下载到本地解压上传到服务器 3.配置Nginx下的 nginx.cof 文件 4.开放安全组,内部与外部 5.测试配置与跳转是否成功 1.云服务申请免费的SSL证书 1.1.登录云平台找到SSL证书 注意:博主这里是腾讯云&#x…...
隧道代理技术解析:为批量数据采集提供强大支持
嘿!作为一名专业的爬虫程序员,我今天要和大家分享一个强大的技术,它能够为批量数据采集提供强大的支持——隧道代理技术。如果你在进行大规模数据采集任务时遇到了IP封禁和限制的问题,那么这项技术将是你的救星。废话不多说&#…...
小程序制作教程:从零开始搭建企业小程序
在如今的数字化时代,企业介绍小程序成为了企业展示与推广的重要工具。通过企业介绍小程序,企业可以向用户展示自己的品牌形象、产品服务以及企业文化等内容,进而提高用户对企业的认知度和信任度。本文将介绍如何从零开始搭建一个企业介绍小程…...
ScanTailor Advanced:免费开源扫描文档处理终极指南
ScanTailor Advanced:免费开源扫描文档处理终极指南 【免费下载链接】scantailor-advanced ScanTailor Advanced is the version that merges the features of the ScanTailor Featured and ScanTailor Enhanced versions, brings new ones and fixes. 项目地址: …...
AIGlasses OS Pro性能调优指南:跳帧、画面缩放设置,流畅运行低算力设备
AIGlasses OS Pro性能调优指南:跳帧、画面缩放设置,流畅运行低算力设备 智能眼镜作为穿戴设备,其计算资源往往有限。AIGlasses OS Pro作为一款本地运行的智能视觉系统,如何在有限的硬件资源下保持流畅运行,是许多开发…...
springboot+vue基于web的大学生课程排课管理系统设计
目录 功能模块分析后台管理系统(SpringBoot)前端系统(Vue) 技术实现要点 项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作 功能模块分析 后台管理系统(SpringBoot&…...
手把手教你用NEWLab搭建智能温控系统(附完整代码)
手把手教你用NEWLab搭建智能温控系统(附完整代码) 在智能家居和工业自动化领域,温度控制始终是核心需求之一。无论是保持室内舒适环境,还是确保精密设备的稳定运行,一套可靠的温控系统都不可或缺。对于物联网初学者和…...
DreamScene2动态桌面软件:为Windows桌面注入活力的终极解决方案
DreamScene2动态桌面软件:为Windows桌面注入活力的终极解决方案 【免费下载链接】DreamScene2 一个小而快并且功能强大的 Windows 动态桌面软件 项目地址: https://gitcode.com/gh_mirrors/dr/DreamScene2 厌倦了千篇一律的静态桌面背景吗?DreamS…...
告别广告侵扰:AdGuard广告拦截扩展全平台部署指南
告别广告侵扰:AdGuard广告拦截扩展全平台部署指南 【免费下载链接】AdguardBrowserExtension AdGuard browser extension 项目地址: https://gitcode.com/gh_mirrors/ad/AdguardBrowserExtension 副标题:从新手到高手的一站式配置方案 一、价值定…...
WaveTools鸣潮工具箱终极指南:画质优化与抽卡分析的完整解决方案
WaveTools鸣潮工具箱终极指南:画质优化与抽卡分析的完整解决方案 【免费下载链接】WaveTools 🧰鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools WaveTools鸣潮工具箱是一款专为《鸣潮》玩家设计的强大辅助工具,它…...
如何用dashdot打造高颜值服务器监控面板?完整配置教程
如何用dashdot打造高颜值服务器监控面板?完整配置教程 【免费下载链接】dashdot A simple, modern server dashboard, primarily used by smaller private servers 项目地址: https://gitcode.com/gh_mirrors/da/dashdot dashdot是一款现代化的服务器监控面板…...
51单片机+DAC0832信号发生器实战:从硬件搭建到波形调试全记录(附避坑指南)
51单片机DAC0832信号发生器实战:从硬件搭建到波形调试全记录(附避坑指南) 在电子设计领域,信号发生器是工程师和爱好者不可或缺的工具。传统商用设备虽然功能强大,但对于学习嵌入式系统和数模转换原理而言,…...
避开这些坑!算法工程师自学必备的5个高效学习法与工具推荐
避开这些坑!算法工程师自学必备的5个高效学习法与工具推荐 1. 为什么大多数自学算法工程师会失败? 在咖啡馆见到老张时,他正对着电脑屏幕上的LeetCode题目发呆。这位转行学习算法的前机械工程师已经坚持了8个月,但最近一次面试还是…...
