一直想系统的写一系列Flink的文章,但由于以下原因一直搁置:

  • 凡是想写的东西网上都能找到,而且不乏有深度有质量的好文;
  • 我想写的很多东西都是基于自己对官方文档及一些高手的文章的多次阅读、实验,以及自己项目中的实践总结,所以理论上是官方文档部分内容的一些总结或者一些实战笔记;
  • 一直没有全面研究过源码,感觉不够深入,还没有达到写一系列的水平;
  • 没时间、懒、拖延症(last but not the least

最近因解决项目中的一些问题,再次好好看了下部分官方文档,觉得还是要写一下,主要有这么几个原因:

  • 看别人的终归是别人的,看的时候你以为你懂了,但让你自己系统全面的讲一遍或者写出来,才发现还是别人的,或者自己理解的还是不透彻、不全面(最主要原因)。
  • 网上的文章(包括官网)虽然多,但绝大多数存在两方面问题:要么不够系统,要么太过深入。不够系统对于解决某个具体的问题,学习某个点一般不是问题,但对于系统了解整个框架,就显得乏力了。太过深入主要指的是深入源码级的剖析,这个倒不是说不好,只是绝大多数人都是使用者,我认为没有必要一定去做源码级研究学习,因为研究源码是一个成本很高的事情,我一般推荐碰到问题必须通过源码解决的时候再去看源码,而且最好是已经对系统有个理论性的认识了。当然,并不是不建议大家看源码,挑几个优秀的框架深入学习一下源代码及其设计对于我们的提升还是非常大的。只是这个一般比较花费时间,往往跟不上实际的需求,所以不建议每学习一个新系统就去看它的源码。

基于上面两个原因,我决定还是写一下,就当是加强自己的理解和做笔记了。我会尽量保证易懂(可能会变成啰嗦...)和全面(我更喜欢叫“理解的闭环”),所以标题也想了很久,觉得就叫“快速了解”吧(看着就很肤浅是不是?)。但为了保证完整性,我会加一些我推荐的文章及参考链接,供喜欢深入研究的人学习。

好了,说这么多,就是提前给自己留个台阶,其实就是想说:写的不好,请勿喷;实在忍不住的话,请轻喷!当然,错误、意见、建议还是非常欢迎不吝赐教的!当然,系列文章也经常会中道崩殂,不要有任何意外!