kafka

每天一道题7 小时前
分布式·kafka
Kafka 是如何工作的?从 Broker、Partition、Offset 到 Consumer Group在微服务系统中,Kafka 经常和 Redis、MySQL 一起出现。例如一个电商系统,用户支付成功之后,除了需要修改订单状态,还可能需要发送短信、更新销售统计、记录用户行为。
ClouGence12 小时前
数据库·kafka·开源
还在用命令行管理 Kafka?开源 CloudDM 让操作更简单在日常开发和运维中,查看 Kafka Topic、消费消息、排查数据问题,都是常见操作。如果这些工作能直接在 Web 界面完成,会方便不少。
Sayai13 小时前
大数据·运维·分布式·kafka·消息队列
Kafka 磁盘空间治理实战:retention 保留策略、log.dirs 在线扩容、分区跨盘迁移与不停机整体换盘消息队列 Kafka 用得越久,磁盘水位告警来得越勤:日志类 topic 日增几十 GB、大分区全挤在一块盘上、系统盘被 server.log 慢慢吃光。本文把生产环境沉淀的四类存储治理手段整理成一套完整 SOP——保留策略让数据"删得快"、数据目录扩容让集群"装得下"、分区跨盘迁移让磁盘"搬得平"、整体换盘让硬件"换得走",全部支持滚动操作不停机,附踩坑清单。命令在 Kafka 2.5 与 3.9 集群上均验证过。
孤狼GPT14 小时前
kafka·springboot·codex·chatgptplus·chatgptpro
ChatGPT、Codex排查实录:Kafka消费者日志明明显示处理成功,为什么同一条消息还是被重复消费?。这类故障的关键,不是简单地关闭自动提交,而是弄清楚数据库事务、Offset提交和业务幂等之间的关系。
starzy199017 小时前
大数据·kafka
KafkaProducer 源码深度剖析:batch 发送的条件前面讲 Sender 线程时提到,Sender 每轮调用 accumulator.ready() 获取有可发送批次的 Broker 集合,然后 drain() 拉取。但 ready() 到底怎么判断一个 batch “可以发了”?这个判断逻辑直接决定了延迟和吞吐的平衡。
SL-staff2 天前
elasticsearch·kafka·jvs运维·es冷热分离·rabbitmq监控·中间件巡检·sre实践
JVS私有化部署运维避坑指南:Kafka容灾、ES冷热分离、RabbitMQ可观测性三实战检查项JVS作为企业级开源低代码平台,其生产就绪性高度依赖底层开源中间件的正确配置与持续治理。Nacos服务发现、SkyWalking链路追踪、Redisson分布式锁、Kafka流程消息总线、RabbitMQ异步任务队列、ElasticSearch审计日志检索——这些组件均非‘部署即完成’的黑盒,而是需按生产环境SLA主动调优、监控与故障闭环的基础设施。
starzy19902 天前
大数据·数据结构·kafka
KafkaProducer 源码深度剖析:支撑高吞吐的数据结构设计很多人写 Producer 封装会用 ConcurrentHashMap<TopicPartition, Queue<ProducerRecord>>——每来一条消息塞进去,后台线程消费。功能上没问题,但性能差一个数量级。
starzy19903 天前
大数据·kafka
KafkaProducer 源码深度剖析:RecordAccumulator 封装消息流程前面几篇讲了 send() 怎么序列化、怎么选分区。但选完分区后,消息不是直接发出去的——那样每条消息一次网络请求,吞吐会惨不忍睹。
starzy19903 天前
大数据·kafka
KafkaProducer 加载元数据:一条 MetadataRequest 的完整旅程摘要: 第二篇讲了 waitOnMetadata 怎么阻塞、为什么等 60 秒。这篇补上另一面——Sender 线程到底发了什么请求、Broker 返回了什么、客户端怎么把响应变成 Cluster 对象。bootstrap.servers 只是敲门地址,全集群拓扑是一条 MetadataRequest 拉回来的。
RobinXYuan3 天前
kafka·源码阅读
【Kafka 源码手记】04 客户端如何找到 Broker上一篇结尾留下了一条悬念:Producer 「查元数据缓存」查到的那些 Leader 位置,最初是从哪来的?bootstrap.servers 明明只写了一个地址,客户端怎么找齐了整个集群?
Linux实战笔记4 天前
kafka·rabbitmq·高并发·pulsar·消息队列选型
记一次消息队列选型对比线上排查:Kafka/RabbitMQ/Pulsar 技术选型<p style="text-align:center"><img src="https://platform-outputs.agnes-ai.space/images/t2i/task_P6XkEZpiWIIilp5Sokq2yFRlHEjjBKFA/output_6b9cee5cb2a24f13b96a04b6b0995f67.png" alt="封面图" style="max-width:100%;height:auto" /></p>
Norris Huang4 天前
分布式·flink·kafka
Kafka Connect 与 Flink CDC 写入 Iceberg:Upsert 的代价,以及 S3 Tables 的真正价值把数据库变更同步到 Iceberg,真正困难的不是把一条新记录写成 Parquet,而是处理一条 UPDATE 或 DELETE:
张彦峰ZYF4 天前
后端·kafka·消息队列·rabbitmq·isr·解耦与削峰·丢失与重复
一条消息的丢与重:Kafka 与 RabbitMQ 可靠投递的确认、位点、死信与幂等全链路目录一、消息为什么会丢、也会重(一)一条消息要跨过的三段旅程(二)三种投递语义:不丢与不重为何不可兼得
我不会起名字3225 天前
kafka·消息队列·调优·分区
Kafka 分区数到底设几个:吞吐量、顺序性与 rebalance 代价的取舍我不会起名字322 · 后端 / 算法 / 数据库📘 技术栈 | 🧩 力扣 Hot100 | 🐹 Go 项目 | 🟥 Redis | 🐬 MySQL
starzy19906 天前
分布式·kafka
深度拆解 Kafka 源码:Producer 构造器装配了哪些核心组件摘要:一行 new KafkaProducer(props) 背后,是配置校验、序列化器/分区器/拦截器装配、32MB 发送缓冲、事务管理器与一条 Sender 守护线程的完整启动,却没有发起任何一次网络请求。本文基于 kafka-clients 3.9.x 源码,逐段拆解初始化全过程,并给出生产环境排查清单。
我不会起名字3226 天前
kafka·消息队列·go·sarama
Go 写 Kafka 消费者:sarama 的 3 个坑与优雅退出写法我不会起名字322 · 后端 / 算法 / 数据库📘 技术栈 | 🧩 力扣 Hot100 | 🐹 Go 项目 | 🟥 Redis | 🐬 MySQL
RobinXYuan7 天前
kafka·源码阅读
【Kafka 源码手记】02 Kafka 的核心哲学:Everything Is A Log上一篇结尾我留了三个问题:这一篇主要回答第三个问题。第三个问题答完,前两个问题也能得到一半答案:快,是因为 Log 的写路径从头到尾只有顺序追加,这一半放在本篇说;另一半(Page Cache 与 Zero Copy)和「凭什么敢留」(retention 怎么删)分别在后面存储引擎部分展开。所以本篇的任务就一个:把 Log 这个抽象本身搞清楚。
Sayai8 天前
大数据·运维·分布式·zookeeper·kafka
Kafka 2.8→3.9.1 跨大版本升级实战:ZooKeeper 同步升级、数据目录迁移与回滚预案全流程一套跑了多年的日志平台 Kafka 集群(2.8.0,外置 ZooKeeper 3.5)要升级到 3.9.1。跨这么多大版本、还是 ZooKeeper 模式,滚动升级的路基本走不通——本文记录一次停机窗口内全量升级的完整实战:升级路线选择、停止顺序、Kafka 与 ZooKeeper 的数据目录/配置全量迁移、启动验证清单、以及随时可退的回滚预案。文中命令全部来自真实升级过程,IP、路径已做脱敏替换。
guo_wen_qiang10 天前
分布式·kafka
kafka重复消费目录1、生产者重复发送消息生产者幂等性生产者事务消息2、消费者重复消费消息导致重复消费的情况1、生产者重复发送消息