用户故事 | 黄云:行百里者半九十
下载APP
关闭
渠道合作
推荐作者
用户故事 | 黄云:行百里者半九十
2019-10-17 黄云 来自北京
《Kafka核心技术与实战》
课程介绍
讲述:冯永吉
时长09:39大小8.84M
你好,我是黄云,目前是一名后端开发工程师,坐标苏州,已经工作三载有余了。在“Kafka 核心技术与实战”专栏刚刚上线的时候,我就第一时间订阅了。在学习专栏的几个月时间里,我有许多心得体会,想要跟你分享一下。
为什么要学习“Kafka 核心技术与实战”专栏?
众所周知,在当今时代,“大数据”已经成为了一个家喻户晓的概念。动辄 GB 级、TB 级,甚至是 PB 级的大数据,都需要服务器在短时间内进行处理。如何充分利用每台服务器的性能,削峰填谷,就成为了数据处理的关键。Kafka 作为一种主流的消息队列工具,已经被很多大公司使用。掌握 Kafka,成为了大数据时代必不可少的专项技能。
我们公司目前也在用 Kafka 对接实时流量数据,数据量约 20GB/ 天。作为一名开发工程师,我必须要尽快掌握 Kafka 的核心技术,修炼专项技能,才能使其更好地为我所用。一直以来,在工作之余,我都会主动地搜集 Kafka 的相关资料,看各位大佬的分享。但是,那些零散的碎片拼凑在一起,却始终很难形成一个系统的知识体系,这也是一直让我很头疼的事情。
“道”与“术”的平衡
作为一名程序员,我和很多人都一样,看到好的东西就想动手实践。在刚刚了解到 Kafka 的强大功能之后,我就迫不及待地参照 Kafka 官网的教程,着手搭建 Kafka 的服务器。除此之外,我还曾小试牛刀,在 1 万条 /s 的实时环境对接中,使用了 Kafka 作为消息队列。
但是,在实际使用过程中,我发现了一个严重的问题,那就是,我只知道如何去用,但不知道如何用好。意识到这个问题后,我赶紧查看了官网以及很多主流网站的文章。官网上将几百个参数一一列出,并注明含义,其他资料则普遍重理论,轻实践。总体来看,这些内容都将“道”放在了第一位,却完全忽略了“术”的实现。
说实话,我们程序员看到这些文章,其实是很恼火的。盯着满篇的原理,却完全不知道从何处下手,那就注定无法解决我的实际问题。
直到有一天,我无意中发现胡夕老师的专栏“Kafka 核心技术与实战”在极客时间上线了,顿时有一种如获至宝的感觉。看完课程简介和开篇词之后,我觉得这就是我一直期待看到的课程,于是就立即订阅了。从此以后,每周二、四、六准时学习更新的文章,逐渐成为了我的习惯。
在学习过程中,我印象最深刻的是,胡夕老师在讲参数配置的时候,在第 7 讲和第 8 讲的标题中用了 3 个“最”字,即“最最最重要的集群参数配置”,并且在文章里分享了最重要、最核心的集群参数配置。看完这两讲之后,我一直以来持有的对于“Kafka 配置优化过程中怎么有这么多参数”的怨念才得以消解。不必贪多求全,只要掌握最核心的内容就可以了。胡夕老师的专栏真正做到了“道”与“术”的平衡,慢慢地为我揭开了 Kafka 的神秘面纱。
我是怎么学习专栏的?
说实话,查看极客时间的专栏是一件十分愉悦的事情。每天清晨,正式开始工作前的 20 分钟,是我固定的学习专栏的时间。学习 Kafka 专栏时,注意力必须高度集中,因为里面干货非常多。如果只是粗浅阅读,不加思考,就会留下很多问题。
当我遇到困惑的时候,第一件事就是查看文章下面的评论。很多人的总结概括能力都非常强,能对信息进行二次加工和提炼,这些留言帮助我对文章内容进行了二次梳理。最重要的是,我经常在留言里看到和我一样的困惑,瞬间就有种找到同类的感觉,这也是一种很奇妙的体验。
胡夕老师回复也很及时,第一时间解决我们的疑惑。今日疑,今日解,不积攒遗留问题,也能让我更加高效地学习后面的内容。
在学习专栏时,我走过一些弯路,也在不断调整地自己的学习方法和习惯。在这个过程中,我吸取了一些经验,也有很多的感悟,想要跟你分享一下。
多思考,多总结。每次查看留言区评论的时候,我都会先自己思考一下问题的答案,等老师回复之后,我会对照着确认下答案。很多时候,我在留言区看其他人的总结,总觉得言简意赅,但是自己描述的话,就会发现自己完全没有这种抽象概括的能力。换句话说,就是没有办法用自己的话描述出文章表达的含义,其实也就是没有真正地理解文章的内容。所以,我就一直跟自己强调,要多总结,提升自己的概括能力。
多动手实践,实践出真知。专栏中有很多实践的知识,我每次发现可操作性比较强的内容时,就会自己在搭建的测试环境下进行实践,查看实践结果。这样一来,我就对课程的内容有了更好的理解与掌握。
多回头看,不留疑惑。我发现,专栏里的很多重点内容,我只读一遍的话,印象会不太深刻,但隔一段时间再去回顾,就会有很多新的认知和收获。有些章节满篇都是干货,一旦遇到不懂的术语,大脑就会本能地跳过。在意识到大脑的这个惯性动作之后,我再遇到不懂的问题时,就会主动花时间去查询相关资料,直到理解术语的含义。否则,一知半解地往下读,对后面的理解会有很大的影响。
多记笔记。对于一些我很感兴趣的课程内容,我会有针对性地进行记录。在记录时,我一般不会直接复制粘贴原文,而是用自己的话写出来。如果实在写不出来,就把原文摘抄一遍,这样也会加深理解。
多提问。针对一些自己实在无法理解的问题,我就让自己多提问、多留言。每次老师回答完我的问题,我都觉得非常开心,后续的学习劲头也会更高,这可能就是老师经常提到的提高参与感吧。
关于留言这件事情,我想跟你分享一下我曾经的心理变化。刚开始学习时,遇到不懂的问题,其实我是不敢提问的,因为我担心我之所以不懂这个问题,是自己理解能力有问题,怕提问的问题过于低级,只好藏着。但是后来我发现,越是这样,我越不懂,慢慢就丧失了很多学习热情。意识到这一点之后,我就及时调整了学习策略,不断提醒自己:对于思考之后实在不能理解的问题,一定要多问。不藏拙,才是成长的最佳路径。
学习专栏有什么收获?
学习这个专栏,我最大的收获就是对 Kafka 的原理、机制以及参数的理解更加深入了。我很佩服胡夕老师的抽象概括能力。胡夕老师花费了一年多的时间阅读 Kafka 的源码以及相关文献,但最后呈现给我们的并不是长篇大论,而是经过多次抽象总结的内容。老师从我们用户最关心的入门、配置、客户端、内核、监控这几个点,去介绍 Kafka 的内容,将官方文档的上百个参数精简成十几个重要的参数,将几百页的内容抽象成几十讲的核心知识。
这一点让我很受启发。在学习过程中,追求大而全并不好,我们只需要掌握实际生产环境中最常用的那么十几个参数,保障消息传输稳定、快速、不丢失就可以了。很多很深奥的内容,如果精力和时间允许的话,再去深究,要以终为始,不能钻牛角尖。
可能只有程序员才知道,阅读大段的源码是多么痛苦的事情,但胡夕老师做到了,而且还在“加餐”中分享了他阅读源码的方法。令人欣喜的是,胡夕老师是直接将源码在 IDE 中展示出来,并且对着实际代码描述阅读代码的方式,实操性很强。而这一点,其实正好符合我当初选择学习 Kafka 专栏的预期。专栏里的大部分内容,都是可以落地实践的。勿在浮沙筑高台,胡夕老师就是这样一步一步地带着我们稳步前进的。
总结
专栏不知不觉就结束了,比较惭愧的是,我后半段没能跟上老师的节奏,做到更新 1 讲,阅读 1 讲,往往是堆积了好久才去阅读。但是,我真的很感谢胡夕老师的付出,老师在专栏里分享的内容,让我对 Kafka 的参数以及一些实战性很强的知识,形成了自己的理解。
胡夕老师在专栏中提过一句话,我印象非常深刻,“行百里者半九十”,Kafka 的学习之旅不会随着专栏的完结而停止,只是读完专栏的内容,其实才走了旅程的一半而已。后续的话,针对专栏中提到的落地信息,我会一一记录并实践,对于 Kafka,真正做到能懂、会用、能用好。
好了,我的分享就到此结束了。你在学习专栏的过程中,有没有什么独特的学习方法和心路历程呢?欢迎你写在留言区,我很期待能跟你在这里交流、讨论,一起学习进步。
分享给需要的人,Ta购买本课程,你将得20元
生成海报并分享
赞 14
提建议
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
上一篇
加餐 | 搭建开发环境、阅读源码方法、经典学习资料大揭秘
下一篇
结束语 | 以梦为马,莫负韶华!
精选留言(9)
- 大力水手2019-11-0715 66,057,323 66,001,015 56,308 胡老师请教个问题、分区15不被发现、总是有消费积压、而且是一直递增、好像这个分区没有被发现一样?展开
作者回复: 可能的原因有:1. 这个分区上有无法处理的消息或corrupted消息使得consumer无法跳过,你可以单独创建一个standalone consumer,只消费这个分区看看是否真的存在这样的消息;2. 你做过增加分区的操作,consumer需要一段时间才能发现这个新分区 最好还是查一下日志,看看日志中有没有什么发现
共 2 条评论8 - 小可2019-10-17👍🏻4
- 小林同学2020-03-2521天,希望学完这个专栏,第一天打卡,加油!!!
作者回复: 加油💪
2 - 时间是最真的答案2019-11-26请问同一个id的多条数据,发送到同一个主题的多个分区,怎么保证相同id的多条数据被同一个consumer消费?
作者回复: 赋值消息的key为该id,这样能保证它们去到同一个分区。
共 3 条评论1 - Geek_72a3d32019-10-17咦,回来一看,还有更新~,那我就不客气再请教个问题啦😄,胡夕老师或者黄云老师解答都可以~: 请问kafka中的事务和Rocket MQ中的事务根本区别是什么,能不能用简单的几句话总结
作者回复: Rocket MQ的事务机制我不太了解,不敢妄言,哈哈~
1 - ifelse2021-08-13加油奥利给1
- 罗成林2020-03-21厉害
作者回复: Thanks man:)
1 - KK2019-11-1080/20原则,刻意练习。
- Flee2019-11-08老师你好,我们项目线上的kafka碰到了一个很奇怪的问题,kafka集群已经正常运行了快两年了没有任何问题,就在前几天,我们的一直使用的消费者组突然就不消费数据了。换一个消费者组就能消费到数据,但是过12个小时左右这个新的消费者组又不能消费数据了。这几天下来已经有好几百万的数据积压了。目前还没有找到原因。。。
作者回复: 有什么报错日志吗?