10 kafka生产者发送消息的原理

news2024/10/6 10:29:33

1.发送原理:

在消息发送的过程中,涉及到了两个线程——main 线程和 Sender 线程。在 main 线程
中创建了一个双端队列 RecordAccumulator。main 线程将消息发送给 RecordAccumulatorSender 线程不断从 RecordAccumulator 中拉取消息发送到 Kafka Broker

在这里插入图片描述

  1. 通用是不使用这个拦截器的,使用的是Flume的拦截器,对数据进行加工
  2. 不使用Java的序列化工具,因为Java的序列化太重,大数据量并不适用
  3. 数据经过分区器后,一个分区会创建一个队列
  4. 创建队列的过程都是在内存中完成的,队列内存的总大小是32M,传输数据的批次大小是16KB,
  5. sender线程是专门用来将数据发送至broker的。缓冲区大小到达阙值后发送或者是时间到达后开启发送

消息发送到哪一个partition呢?

(1)如果消息中指定了Partition id,那就发送到对应的partition;
(2)如果没有,那就消息的key进行hash一下;
(3)如果id和key都没有,那就随机;

kafka消息的确认机制ack

(1)0表示不需要ACK,安全性低效率高;
(2)1表示需要一个ACK才会继续下一条;(一个follower接收就可以)
(3)-1(all)表示所有的follower都完成才会继续下一条,效率最低;

在这里插入图片描述

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

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

相关文章

大数据自我进阶(数据仓库)-暂未完全完成

什么时候需要数据仓库? 1.当决策者要进行战略分析或者展示统计的需求。 2.并且数据量非常庞大,而且各个都是数据孤岛。 当满足这2个条件后,就需要搭建数据仓库。 数据仓库的第一步(数据清洗) 为了能准确的分析&am…

python编辑工具PyCharm下载安装步骤

开发python程序的途径还是不少的 用解释器一行行执行代码 或者 通过解释器程序执行一个python代码文件 但这两种方式 其实都只是测试场景下的使用 就好像古代打仗,光有英雄好汉没用,他还有有一件趁手的兵器,大部分python程序都是在PyCharm上开…

MIPI 打怪升级之DPI篇

目录1 Overview2 Display Architectures2.1 Type 1 Display Architecture Block Diagram2.2 Type 2 Display Architecture Block Diagram2.3 Type 3 Display Architecture Block Diagram2.4 Type 4 Display Architecture Block Diagram3 Interface Signal Description3.1 Power…

逆波兰表达式求值(力扣刷题代码随想录刷题)

给你一个字符串数组 tokens ,表示一个根据 逆波兰表示法 表示的算术表达式。 请你计算该表达式。返回一个表示表达式值的整数。 注意: 有效的算符为 、-、* 和 / 。 每个操作数(运算对象)都可以是一个整数或者另一个表达式。 两…

4月9日第壹简报,星期日,农历闰二月十九

4月9日第壹简报,星期日,农历闰二月十九坚持阅读,静待花开1. “2023中国品牌女性500强”榜单揭晓,屠呦呦、张桂梅、董明珠、刘洋、孟晚舟、谷爱凌等入选。2. 京东集团副总裁:将在今年发布“京东版”ChatGPT。3. 以冒名顶…

壹-prometheus安装

https://blog.csdn.net/hancoder/article/details/121703904 安装 壹, prometheus server 安装 github 1,上传安装包 # 解压到/opt/module 目录下: mkdir /opt/module tar -zxvf prometheus-2.29.1.linux-amd64.tar.gz -C /opt/module # 修改目录…

vscode+gitee

临近毕业,程序整理很麻烦,学习了一下gitee。 使用方法 1.安装必要的软件 (1).vscode:参照之前环境配置的博文 (2).git 2.在gitee新建仓 (1)新建仓 (2&…

学会吊打面试官之容器终篇priority_queue

小白:大牛您好,我即将毕业需要找工作,但是我对于常用容器的特点和用法不是很清楚,能否跟我聊聊呢? 大牛:没问题,我很乐意帮助你。常用容器有 vector、list、set、map 和 priority_queue。其中&…

Linux中你必须掌握的CPU load

文章目录1. 查看CPU load2.CPU load含义2.1 单核CPU2.2 多核CPU3. 获得系统的CPU信息1. 查看CPU load uptimeloadd average后的三个数字分别代表1分钟、5分钟、15分钟的负载情况平均值 2.CPU load含义 CPU load是一段时间内CPU正在处理以及等待CPU处理的进程数之和的统计信息…

ESP32设备驱动-SHT20温湿度传感器驱动

SHT20温湿度传感器驱动 文章目录 SHT20温湿度传感器驱动1、SHT20介绍2、硬件准备3、软件准备4、驱动实现1、SHT20介绍 Sensirion 的 SHT20 湿度和温度传感器已成为外形尺寸和智能方面的行业标准:嵌入在 3 x 3mm 封装和 1.1mm 高度的可回流焊双扁平无引线 (DFN) 封装中,它提供…

2023年的深度学习入门指南(3) - 动手写第一个语言模型

2023年的深度学习入门指南(3) - 动手写第一个语言模型 上一篇我们介绍了openai的API,其实也就是给openai的API写前端。在其它各家的大模型跟gpt4还有代差的情况下,prompt工程是目前使用大模型的最好方式。 不过,很多编程出身的同学还是对于…

HTML5 音频 Audio

文章目录HTML5 音频 Audio互联网上的音频浏览器支持HTML5 Audio - 如何工作音频格式及浏览器支持音频格式的MIME类型HTML5 Audio 标签HTML5 音频 Audio HTML5 提供了播放音频文件的标准。 互联网上的音频 直到现在,仍然不存在一项旨在网页上播放音频的标准。 今天…

【2023】某python语言程序设计跟学第七周内容

目录1.文件的使用1.1.文件的类型1.2.文件的打开和关闭1.3.文件内容的读取1.4.文件内容的写入2.实例:自动轨迹绘制3.一维数据格式化和处理3.1.数据组织维度3.2.一维数据的表示3.3.一维数据的存储3.4.一维数据的处理4.二维数据格式化和处理4.1.二位数据的表示4.2.CSV格…

在 Python 中制作一个字母列表

要列出字母表: 使用 string.ascii_lowercase 属性获取字母表中的字母字符串。使用 list() 类将字符串转换为列表。该列表将包含字母表中的所有字母。 import string# ✅ 获取字母表中小写字母的列表 lower string.ascii_lowercase list_of_lowercase_letters li…

【python数据分析】对乐高、奥特曼、高达进行分析,看看哪个卖的最好

前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 前期准备 软件: Jupyter Notebook: 是一个开源的web应用程序,可以使用它来创建和共享包含实时代码、方程、可视化和文本的文档。 Jupyter Notebook是IPython项目的一个派生项目&#x…

基于K-最近邻算法构建鸢尾花分类模型

基于K-最近邻算法构建鸢尾花分类模型 一 任务描述 鸢尾花(Iris)数据集是机器学习中一个经典的数据集。假设有一名植物学爱好者收集了150朵鸢尾花的测量数据:花瓣的长度和宽度以及花萼的长度和宽度,这些花已经鉴定为属于Setosa、…

多线程 之 CAS与synchronized的优化过程

前言 本篇介绍什么是CAS与synchronized的优化过程,如有错误,请在评论区指正,让我们一起交流,共同进步! 文章目录前言1. 什么是CAS?2. CAS实现的操作2.1 实现原子类2.2 实现自旋锁3. CAS的aba问题4. synchr…

QT桌面的构建

文章目录 前言一、按键类的创建二、按键样式设计三、详细代码讲解总结前言 本篇文章开始我将带大家构建一个属于自己的QT桌面,这个桌面将适用于ARM和Linux等。 一、按键类的创建 首先我们需要创建一个按键类,这个按键类需要包含一个按键和一个lable用来显示按键的名字。 效…

2022MathorCup赛题B

以下所有文字均基于作者的实际经验,并不具有完全的合理性,请谨慎参考 目录 一、问题分析 (一)问题一 (二)问题二 二、预处理 (一)训练集预处理 (二)测…

逻辑回归预测泰坦尼克号乘客生存率

逻辑回归预测泰坦尼克号乘客生存率 描述 RMS泰坦尼克号的沉没是历史上最臭名昭着的沉船之一。1912年4月15日,在她的处女航中,泰坦尼克号在与冰山相撞后沉没,在2224名乘客和机组人员中造成1502人死亡。这场耸人听闻的悲剧震惊了国际社会&…