下载APP
关闭
讲堂
算法训练营
企业服务
热点资讯
极客商城
客户端下载
兑换中心
渠道合作
推荐作者

结束语 | 以梦为马,莫负韶华!

2019-09-12 胡夕
Kafka核心技术与实战
进入课程

讲述:胡夕

时长06:21大小5.83M

你好,我是胡夕。今天,我的专栏“Kafka 核心技术与实战”就正式结束了。

回顾与你在专栏相聚的这几个月,我的内心充满了成就感。且不必说这 42 讲的文字全是我一字一键敲下来的,也不必说那长达十几个小时的录音,单是留言区那些踊跃积极的提问与讨论,就足以使我深受感动并收获满满了。

此时此刻,千言万语汇成一句话:“感谢!”感谢你对我和本专栏的支持,感谢你曾经的鼓励与提问,也感谢你的肯定与期望。另外,我也要向你表示祝贺,祝贺你完整地学习了专栏的全部课程,你的恒心与坚持令人敬佩。

虽然专栏更新结束了,但是我相信我们的 Kafka 学习之旅不会结束。相反,这对于你来说,或许是一个新的开始。

还记得开篇词里的那句话吧:“Stay focused and work hard!”我一直觉得,学习任何技术,甚至是搞定任何事情,只要下足了功夫,理论上你可以藐视一切学习方法或捷径。但是,如果你忽视了毅力和坚持,再多的速成教程也无法引领你达到你期望的高度。著名的“10000 小时定律”就明确表示,10000 个小时的锤炼,是所有人从平凡人变成世界级大师的必要条件

还是那句话,只要你持之以恒地投入时间去学习,你就能成为某个领域的专家。因此,从某种意义上说,我这碗“鸡汤”的配料非常简单,就四个字:干就完了

那这是不是在说书籍、专栏之类的他人智慧总结就没用了呢?当然不是!他山之石,可以攻玉,书籍和专栏的最大作用就在于,当你遇到岔路口时,它们能够帮助你快速地识别前进中的已知路障,让你少走弯路,更快地实现目标。但前提是你要在路上,而不是单纯地想要依赖它们速成

在专栏的最后,我想再和你分享一些学习大数据框架的个人经验。这些经验不仅仅适用于学习 Kafka,对于其他框架甚至是分布式系统的学习,都是适用的。

首先,最重要的就是夯实技术基本功。这是我们 IT 从业者赖以生存的基石。

这里的基本功包含很多方面,比如操作系统数据结构等,但我更想说的,还是对 Java 语言的掌握

目前,大数据框架多是以 Java 或 JVM 系语言开发而成的,因此,熟练掌握甚至精通 Java,是学好大数据框架的基石!所谓精通,不仅仅是要求你熟练使用 Java 进行代码开发,更要求你对 JVM 底层有详细的了解。就这个层面的学习而言,我想给你 3 条建议。

  1. 持续精进自己的 Java 功底。比如,你可以去 Java 官网上,把 Java 语言规范和 JVM 规范熟读一遍。很多人都不太重视语言规范文档,但实际上,Java 中关于线程和同步的知识,在 Java 语言规范中都有相关的阐释。
  2. 提升自己的 Java 多线程开发以及 I/O 开发能力。很多大数据框架底层都大量使用 Java 多线程能力以及 NIO 帮助实现自身功能。就拿 Kafka 来说,多线程自不必说,Kafka 可是大量使用 NIO 实现网络通信的。所以,这部分的知识是你必须要熟练掌握的。
  3. 掌握 JVM 调优和 GC。我推荐你去读一读“Java Performance”这本书。虽然目前 GC 收集器大部分演进到了 G1 时代,但书中大部分的调优内容依然是适用的。调优 Kafka 的 JVM,也要依赖这部分知识给予我们指导。

除此之外,你还要学习分布式系统的设计。

分布式系统领域内的诸多经典问题,是设计并开发任何一款分布式系统都要面临和解决的问题,比如我们耳熟能详的一致性问题、领导者选举问题、分区备份问题等。这些问题在 Kafka 中都有体现,我们在专栏里面也有所涉及。因此,分布式系统的诸多基础性概念,是帮助你日后深入掌握大数据分布式框架的重要因素

而且,很多经典的分布式问题在业界早已被研究多年,无论是理论还是实践案例,都有着翔实的记录。比如我们在专栏前面谈到的分区概念,分区在分布式系统设计中早就不是什么新鲜的概念了,早在上世纪六七十年代,就已经有行业专家在研究分区数据库的实现问题了。要较好地掌握大数据框架中的分区或分片,是不可能绕过分布式系统中的分区以及分区机制的。

这些经验都偏重理论的学习。你千万不要小看理论的价值,毕竟,列宁说过:“没有革命的理论,就没有革命的运动。”这里的“运动”就是一种实践。先让理论指导实践,再借助实践补充理论,才是学习任何东西无往而不利的最佳法则。

强调完理论,自然就要引出实践了。我这里所说的实践不仅仅是对框架的简单使用。你从官网上下载 Kafka,启动它,然后创建一个生产者和一个消费者,跑通端到端的消息发送,这不叫实践,这只是应用罢了。真正的实践一定要包含你自己的思考和验证,而且要与真实业务相绑定。我不排斥你单纯地学习某个框架,但以我个人的经验而言,在实际工作中进行学习,往往是学得最快、掌握得也最扎实的学习方式。

另外,在实际学习过程中,你最好记录下遇到问题、解决问题的点点滴滴,并不断积累。要知道,很多技术大家之所以成为技术大家,不仅仅是因为理论掌握得很牢固,填过的“坑”多,更重要的是,他们不重复犯错

孔子曾经称赞他的学生颜回“不贰过”。“不贰过”也就是不重复犯错。在我看来,在实践方面,一个不犯相同过错的人,就已经可以被称为大家了。

好了,这些就是我在学习技术的过程中总结的经验,现在全部分享给你,希望对你有所帮助。

我为你准备了一份结课问卷,题目不多,两三分钟就可以完成。希望你能畅所欲言,把自己真实的学习感受和意见表达出来,我一定会认真看,期待你的反馈。

最后一期了,也欢迎你在这里给自己的专栏学习做个总结。关于专栏或是其他内容,如果你还有什么问题,也尽管提出来,我会持续回复你的留言。

送君千里,终须一别。所谓行百里者半九十,愿你继续在技术这条道路上深耕,并得偿所愿,不负韶华。我们江湖再见!

© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
上一篇
42 | Kafka Streams在金融领域的应用
 写留言

精选留言(16)

  • Solomon
    2019-09-12
    谢谢老师,老师辛苦了
    展开
    2
  • QQ怪
    2019-09-12
    天啊,就已经结束了,还没反应过来,没学够😂
    展开
    1
  • godtrue
    2019-09-15
    课后思考及问题
    最重要的就是夯实技术基本功。
    Stay focused and work hard!
    真正的实践一定要包含你自己的思考和验证,而且要与真实业务相绑定。
    不贰过。
    看似平谈无奇,不过真正能做的也是凤毛麟角。
    不过听老师这么讲,自己反而更加有信心了,从入行到现在也在持续的学习,不过受限于基本功和脑回沟再加上没有高人指点,难免不会磕磕碰碰。现在发现付费学习,也许真是最高效的一种方式,经验眼界层次很容易上来,当然,能将多少转化为自己的就看自己的专注度和持久性啦!
    感谢老师的分享,让我感觉到自己不是愚蠢得很而是功夫下的不够很。
    展开
  • 陈华应
    2019-09-13
    最近一直觉得工作忙,为自己找了个没有时间的借口,突然看到结束语才知道3个多月已经悄然而逝,还清晰记得自己在这个专栏还没出来就期待的兴奋劲。时间真的不等人,挤挤,总会有时间,把欠自己的课补上~
  • AF
    2019-09-12
    “在实际工作中进行学习,往往是学得最快、掌握得也最扎实的学习方法”这句话再赞同不过了。多谢老师!!
    展开
  • 青石
    2019-09-12
    还没看够,就这么结束了?
    展开
  • 费曼先生
    2019-09-12
    谢谢老师,这篇文章让我对kafka基本原理收货很多
    展开
  • 吴亚楠
    2019-09-12
    收获很多,感谢老师
    展开
  • 墙角儿的花
    2019-09-12
    感谢老师。
    顺便问下老师,做技术的,年龄大了会有危机感吗,老师怎么规划的呢。我快37了,最近招人有个52的,我们直接就没考虑一下。
  • willmeng
    2019-09-12
    胡大的文章为我们接下来的项目选型贡献很大,真心感谢。
  • 夜空中最亮的星(华仔...
    2019-09-12
    干就完了,我喜欢,祝老师中秋快乐。
    展开
  • ass.F
    2019-09-12
    感谢胡老师!:D
    展开
  • QuITh
    2019-09-12
    江湖再见(ー_ー)!!
    展开
  • 蒙开强
    2019-09-12
    老师,你好,我问个问题呢,kafka怎么在官网上查看稳定版本呢,打开一般都是最新的稳定版,但想看看之前版本的稳定版,在官网上没有找到
    展开

    作者回复: https://kafka.apache.org/downloads
    这里面有所有版本

    1
  • 玉剑冰锋
    2019-09-12
    习惯每天打开跟着进度的感觉,今天打开看到标题是结束语,突然觉得这么快就结束了,真的非常感谢胡老师,这个专栏我留言将近二十条,每条留言胡老师都回复,也帮助解决了很多线上问题,同时也受益匪浅,非常感谢!!!
    展开
  • JC
    2019-09-12
    我的天。。好快(✪▽✪)
    展开