kafka

kafka为什么快

数据分片(每个topic会把数据切分为多个partition,每个partition有自己对应的副本保证可靠性,但是副本在leader partition down掉前不会提供服务)可以横向扩容

连续读速度快

kafka虽然跑在jvm上但是使用堆外内存(内核缓冲区内存)pagecache,所以不需要做内存回收。

kafka会自动预热,把数据加载到缓冲区里

pagecache

虚拟内存:内存地址映射

kafka的windows适配性不好

kafka ack保证数据写到内存里,刷盘策略决定数据什么时候落盘,所以ack不能保证数据不会丢失。

零拷贝

减少内核态缓冲区到用户态缓冲区的cpu拷贝

dma拷贝:io到内核的拷贝

普通拷贝:

零拷贝:

producer的消息会包含key,来决定消息发送到哪个partition。

producer按批次发送数据,当数据停留指定时间或者数据达到一定量时,发送给kafka 中对应partition的leader 副本所在的broker节点的socket receive buffer;

socket通过network threads将数据包装成一个请求置入reque queue,然后通过一个IO线程写入到page cache,pagecache根据刷盘策略落盘;

为了保证落盘前的数据可靠性,会将数据备份到其他的broker上,(follower副本会向leader副本拉取数据,这些follower在leader 副本 down掉前,只做备份,不会被使用。)

副本备份完毕后,会发送给producer一个ack,其中可以在network threads控制消息的顺序(上一条消息存储失败,则下一条数据卡在socket receive buffer)

HDD(机械硬盘)和SSD的随机写与顺序写

HDD :随机写时间浪费在寻址和旋转盘片

SSD:写入数据时,需要先擦除一块物理地址,然后写入在这块地址上的一个page里;因此随机写浪费在擦出有用数据时的数据迁移,并且会造成盘碎片化。

混合云

私有云+公有云

私有云:企业自己建设并为内部提供服务,企业可以更严格地控制访问权限和数据管理。

公有云:第三方云厂商所拥有和运营,用户通过互联网使用这些服务;用户只有服务的使用权,数据的控制权相对较弱。

机器扩容 超过 mysql连接数 导致服务崩溃

相关推荐
TTBIGDATA21 小时前
【Atlas】Atlas Hook 消费 Kafka 报错:GroupAuthorizationException
hadoop·分布式·kafka·ambari·hdp·linq·ranger
indexsunny1 天前
互联网大厂Java面试实战:微服务与Spring生态技术解析
java·spring boot·redis·kafka·mybatis·hibernate·microservices
编程彩机1 天前
互联网大厂Java面试:从Spring Boot到分布式事务的技术场景解析
spring boot·kafka·分布式事务·微服务架构·java面试·技术解析
没有bug.的程序员1 天前
RocketMQ 与 Kafka 深度对垒:分布式消息引擎内核、事务金融级实战与高可用演进指南
java·分布式·kafka·rocketmq·分布式消息·引擎内核·事务金融
yumgpkpm1 天前
华为昇腾300T A2训练、微调Qwen过程,带保姆式命令,麒麟操作系统+鲲鹏CPU
hive·hadoop·华为·flink·spark·kafka·hbase
ApachePulsar1 天前
演讲回顾|谙流科技在 Kafka on Pulsar 之上的探索
分布式·科技·kafka
yumgpkpm2 天前
2026软件:白嫖,开源,外包,招标,晚进场(2025年下半年),数科,AI...中国的企业软件产业出路
大数据·人工智能·hadoop·算法·kafka·开源·cloudera
迎仔2 天前
09-消息队列Kafka介绍:大数据世界的“物流枢纽”
大数据·分布式·kafka
indexsunny2 天前
互联网大厂Java面试实录:Spring Boot微服务与Kafka消息队列实战解析
java·spring boot·微服务·面试·kafka·电商·技术解析
indexsunny3 天前
互联网大厂Java面试实战:从Spring Boot到微服务架构的技术问答解析
java·spring boot·redis·微服务·kafka·jwt·flyway