10 kafka生产者发送消息的原理
1.发送原理:
在消息发送的过程中,涉及到了两个线程——main 线程和 Sender 线程。在 main 线程
中创建了一个双端队列 RecordAccumulator。main 线程将消息发送给 RecordAccumulator,
Sender 线程不断从 RecordAccumulator 中拉取消息发送到 Kafka Broker。
- 通用是不使用这个拦截器的,使用的是Flume的拦截器,对数据进行加工
- 不使用Java的序列化工具,因为Java的序列化太重,大数据量并不适用
- 数据经过分区器后,一个分区会创建一个队列
- 创建队列的过程都是在内存中完成的,队列内存的总大小是32M,传输数据的批次大小是16KB,
- 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都完成才会继续下一条,效率最低;
10 kafka生产者发送消息的原理相关推荐
- Kafka生产者发送消息的三种方式
Kafka是一种分布式的基于发布/订阅的消息系统,它的高吞吐量.灵活的offset是其它消息系统所没有的. Kafka发送消息主要有三种方式: 1.发送并忘记 2.同步发送 3.异步发送+回调函数 下 ...
- 线上问题-kafka生产者发送消息总是失败
问题解决过程 线上一个界面发现老是没有数据,排查下来时生产者没有成功发送消息所致,报错如下: org.springframework.kafka.core.KafkaProducerException ...
- Kafka实战 - 02 Kafka生产者发送消息至topic实现数据上报
文章目录 1. 项目背景 2. 依赖和配置 3. 生产者配置 KafkaConfiguration 4. 同步数据Topic枚举 SyncDataTopicEnum 5. 请求体 DataSyncQo ...
- 【kafka系列】kafka之生产者发送消息实践
目录 一.准备工作 二.终端命令 生产者命令 消费者命令 三.Java实践 搭建项目 异步发送-无回调 异步发送-有回调 同步发送 一.准备工作 进入实战之前先熟悉一下topic的相关命令,使用终端命 ...
- discard connection丢失数据_python kafka 生产者发送数据的三种方式
python kafka 生产者发送数据的三种方式 发送方式 同步发送 发送数据耗时最长 有发送数据的状态,不会丢失数据,数据可靠性高 以同步的方式发送消息时,一条一条的发送,对每条消息返回的结果判断 ...
- 快速了解 Kafka 生产者的使用和原理
作者 | 草捏子 整理 | 杨碧玉 出品 | 草捏子(ID:chaycao) 头图 | CSDN 下载自视觉中国 本文将学习 Kafka 生产者的使用和原理,文中使用的 kafka-clients ...
- 【Kafka生产者发消息流程】
发送流程 首先生产者调用send方法发送消息后,会先经过拦截器,接着进入序列化器.序列化器主要用于对消息的Key和Value进行序列化.接着进入分区器选择消息的分区. 上面这几步完成之后,消息会进入到 ...
- RocketMQ3.2.2生产者发送消息自动创建Topic队列数无法超过4个
问题现象 RocketMQ3.2.2版本,测试时尝试发送消息时自动创建Topic,设置了队列数量为8: producer.setDefaultTopicQueueNums(8); 同时设置broker ...
- WhatsApp用户数突破10亿 每天发送消息420亿条
WhatsApp用户数突破10亿 北京时间2月2日消息,Facebook旗下即时通讯应用WhatsApp今天宣布,服务的月活跃用户已经突破10亿. 根据周一WhatsApp公布的数据,成立7年的Wha ...
最新文章
- Meta AI 新研究,统一模态的自监督新里程碑
- Eclipse使用EGit管理git@OSC项目
- Java8新特性之函数式接口
- ecs服务器内网连接_让不同地域云服务器ECS和云数据库内网互通
- 深入浅出Yolov5之自有数据集训练超详细教程
- java加载jdbc驱动,加载JDBC驱动
- Gson源码解析之InstanceCreator简单说明
- Spark技术互动问答分享
- html网页视频播放器代码,HTML网页制作视频播放器现成代码
- e5cc温控仪通讯参数设定_咨询蔚伦触摸屏与欧姆龙温度控制仪E5EZMODBUSRTU的通讯方式...
- 【pandas数据分析】pandas安装
- ionic ion-refresher刷新完毕
- 金色传说:SAP-PPDS-SAPAPO/RRP3增强:控制界面需求数量字段修改后检查增强/用户事件USERCOMMAND响应增强
- Android音视频开发之ExoPlayer(一):快速入门ExoPlayer
- 佳文分享:我个人比较受用的一些习惯
- 感恩节,感谢大家的一路相伴
- 飞塔防火墙的配置与策略
- Java web+MySQL编写简易候选人投票(完整代码)
- pandas数据分析读书笔记(三)
- TXT文本 切分 查找 替换 文件合并的大数据工具软件