关于Kafka high watermark的讨论2】的更多相关文章

之前写过一篇关于Kafka High watermark的文章,引起的讨论不少:有赞扬之声,但更多的是针对文中的内容被challenge,于是下定决心找个晚上熬夜再看了一遍,昨晚挑灯通读了一遍确实发现不少错误.鉴于此我决定再写一篇博客重新梳理一下最新版本中High watermark(下称HW)的工作原理,也算是纠正之前文章中的错误.这次我不打算说leader epoch,而只是专门讨论HW.log end offset(日志末端位移,下称LEO)的事情.希望我能把整个流程交代清楚.也许这篇文章…
转载自 huxihx,原文链接 关于Kafka监控方案的讨论 目前Kafka监控方案看似很多,然而并没有一个“大而全”的通用解决方案.各家框架也是各有千秋,以下是我了解到的一些内容: 一.Kafka manager Github地址: https://github.com/yahoo/kafka-manager. 这款监控框架的好处在于监控内容相对丰富,既能够实现broker级常见的JMX监控(比如出入站流量监控),也能对consumer消费进度进行监控(比如lag等).另外用户还能在页面上直接…
Apache Kafka是大量使用磁盘和页缓存(page cache)的,特别是对page cache的应用被视为是Kafka实现高吞吐量的重要因素之一.实际场景中用户调整page cache的手段并不太多,更多的还是通过管理好broker端的IO来间接影响page cache从而实现高吞吐量.我们今天就来讨论一下broker端的各种IO操作. 开始之前,还是简单介绍一下page cache:page cache是内核使用的最主要的磁盘缓存(disk cache)之一——实际上Linux中还有其…
Kafka在1.1.0版本引入了fetch session的概念,旨在降低“无效”FETCH请求对集群带宽资源的占用.故事的背景是这样的: 众所周知,Kafka的broker和consumer都会定期地向leader broker发送FETCH请求去获取数据.对于分区数很多的topic而言,待发送的FETCH请求就会很大,从而整体上增加网络带宽占用.即使这些分区没有任何新的数据到来,follower和consumer构造的FETCH请求都需要显式地罗列出每个订阅分区的详细数据,这包括:分区号.该…
之前在知乎上尝试过回答这个问题,后来问的人挺多,干脆在博客里面保存一下. 目前Kafka监控方案看似很多,然而并没有一个"大而全"的通用解决方案.各家框架也是各有千秋,以下是我了解到的一些内容: Kafka manager Github地址: https://github.com/yahoo/kafka-manager. 这款监控框架的好处在于监控内容相对丰富,既能够实现broker级常见的JMX监控(比如出入站流量监控),也能对consumer消费进度进行监控(比如lag等).另外用…
1.为什么写这本书? 我建立了一个qq群,有很多人在群里面学习和交流,经常有人问我一些Kafka的知识,我可以感受他们对技术的热情,这是一群刚走出校门,或者工作经验较少,又或是一些转型的开发新人,他们希望通过自学提高自己的开发能力,但是又没有学习渠道和正确的方法,于是我写了这本书. 2.开始写作 2018年3月,我开始写作计划. 我花了两周时间思考新书的内容,修修改改终于确定了目录大纲(前期大量写博客积累的素材),然后定下一个矫情而有仪式感的计划——晚上闭关6个月.这段时间妹子很体谅我,照顾我,…
本文主要参考社区0.11版本Controller的重设计方案,试图给大家梳理一下Kafka controller这个组件在设计上的一些重要思考.众所周知,Kafka中有个关键组件叫controller,负责管理和协调Kafka集群.网上关于controller的源码分析也有很多,本文就不再大段地列出代码重复做这件事情了.实际上,对于controller的代码我一直觉得写的非常混乱,各种调用关系十分复杂,想要完整地理解它的工作原理确实不易.好在我们就是普通的使用者,大致了解controller的工…
转载自 huxihx,原文链接 Kafka controller重设计 目录 一.Controller是做什么的 二.Controller当前设计 三.Controller组成 四.Controller当前问题 1. 需要在多线程间共享状态 2. 代码组织混乱 3. 管理类请求与数据类请求未分离 4. Controller同步写Zookeeper且是一个分区一个分区地写 5. Controller按照一个分区一个分区的发送请求 6. Controller给broker的请求无版本号信息 7. Z…
前一篇Kafka框架设计来自英文原文(Kafka Architecture Design)的翻译及整理文章,非常有借鉴性,本文是从一个企业使用Kafka框架的角度来记录及整理的Kafka框架的技术资料,也非常有借鉴价值,为了便于阅读与分享,我将其整理一篇Blog. 本文内容文件夹摘要例如以下: 1)apache kafka消息服务 2)kafka在zookeeper中存储结构 3)kafka log4j配置 4)kafka replication设计机制 5)apache kafka监控系列-监…
作者介绍 郑杰文,腾讯云存储,高级后台工程师,2014 年毕业加入腾讯,先后从事增值业务开发.腾讯云存储开发.对业务性.技术平台型后台架构设计都有深入的探索实践.对架构的海量并发.高可用.可扩展性都有相当的经验,目前主要研究分布式领域和存储领域. Kafka 是一个分布式消息队列,具有高性能.持久化.多副本备份.横向扩展能力.生产者往队列里写消息,消费者从队列里取消息进行业务逻辑.一般在架构设计中起到解耦.削峰.异步处理的作用. Kafka 对外使用 Topic 的概念,生产者往 Topic 里…