Kafka 源码解析之 Producer 发送模型(一)

早就开始计划写 Kafka 源码分析的文章,但却一直迟迟没有动手,直到看到一位同事的博客 编程小梦,彻底受到了打击,这位同事是去年本科毕业,年龄算起来应该比我小两岁,但是非常厉害,在刚工作半年的时候就成为了 Apache Kylin 的 commiter,看到身边同事这么优秀,而且还这么努力 (编程小梦-我的书单),自己实在没有理由不努力了,因此,在 github 上给自己提了一个 issue Kafka 源码分析系列,希望自己能够在未来半年里,至少每两周输出一篇 Kafka 源码分析的文章,本文是这个系列的第一篇 —— Producer 的发送模型(以 Kafka 0.10.2 为例)。

阅读更多

CSS 一些常用方法的总结

CSS 指的是层叠样式表(Cascading StyleSheet),在网页制作时采用层叠样式表技术,可以有效地对页面的布局、字体、颜色、背景和其它效果实现更加精确的控制,本文对 css 一些基本内容及常用功能进行一下总结,总结的内容主要是来自实验楼的 CSS 速成教程,这篇文章会实时更新,后续如果遇到什么好的有用功能,也会更新到这篇文章中。

阅读更多

HTML 一些常用方法的总结

HTML 是一种语言,是用来描述网页的语言,它是一种标记语言,HTML 就是使用标记标签来描述网页。

阅读更多

入职培训感想

这周参加了公司的封闭式入职培训,总共是五天的时间,今年是公司第一次进行校招封闭式培训。记得去年七月份来公司实习,一起入职的校招同事参加的入职培训才两天时间,而且也不是封闭式的,一年的时间,变化还是很大的,这也间接证明公司的发展速度很快。作为公司第一届参加封闭式入职培训的员工(不是这届的第一批),在这五天中明显感觉到了收获了很多,这里记录总结一下。

阅读更多

腾讯传,一个激情澎湃的时代

这两周把《腾讯传》看完了,这本书去年出版的时候就想去看,但是一拖就拖到了现在,直到上周出去玩,回来的时候路上遇到了堵车,车上实在无聊,就开始看这本书。我平时是比较喜欢看这类科技史或科技公司史的书,第一次看这种类型的书,读的吴军老师的《浪潮之巅》,当时真叫是一个过瘾,至今还记得当时那种情景 —— 怎一个爽字了得,一口气连着两天在图书馆把这本书看完了。可是现在在看《腾讯传》时,已经没有了那种感觉,但最后还是在两周的时间里把这本书看完了,跟着吴晓波一起重温了一个伟大互联网公司(3Q 之后的腾讯)发展历程 —— 一个激情澎湃的时代。

阅读更多

欧洲简史

最近几周把这本你一定爱读的极简欧洲史读完了,在阅读的过程中,感觉真的是很爽,不愧是豆瓣的8+分图书。读完本书,可以对欧洲的历史有一个大概的了解,即便是最后很多的细节记不清楚,但是整个历史过程还是会有一定的印象,能建立一个大概的时间线。读完本书,如果再有人问你为什么现代科学、政治制度会诞生在西方,而不是一直领先的中国?你应该也能说几个理由的。

阅读更多

Storm 对 0.10.x 版 Kafka 支持解析

由于 0.10.x 版 Kafka 与 0.8.x 版有很大的变化,这种变化对下游 Storm 有非常大的影响,0.10.x 版的 Kafka 不但增加了权限管理的功能,而且还将 simple 和 high consumer 的 offsets 进行统一管理,也就意味着在 0.8.x 中 Storm 需要去负责管理 offsets,而在 0.10.x 中,Storm 不需要关心 consumer 的 offsets 的问题,这对 KafkaSpout 的设计有很大的影响,本文就是对 Storm 对 0.10.x 版 Kafka 支持的实现部分的解析。

阅读更多

Kafka 之 Group 状态变化分析及 Rebalance 过程

前段时间看一下 Kafka 的部分源码(0.10.1.0 版),对一些地方做了一些相应的总结。本文主要就 Kafka Group 方面的内容做一下详细的讲述,重点讲述 Consumer Client 如何进行初始化、Server 端对应的 Consumer Group 状态如何进行变化以及对一些 Kafka 的新设计(与旧版不同之处)简单介绍一下。

阅读更多

别人向上,我们却在向下

花了两周多的时间把钱穆老先生这部神作读完了,读完之后的感觉是,书中有太多的观点让我有醍醐灌顶之感,钱老读史思考的深度远非常人所及,这本书非常值得拜读,豆瓣上也同样给出了9分以上评价,真的名不虚传(《中国历代政治得失》)。因为这本书并不是一气看完,大部分是在上下班的班车上看的,每天看一部分,持续半个月之后才看完,所以书中一些感觉很不错的观点到现在可能已经忘了一部分,现在回忆起整本书,大概有三点让我印象非常深刻,下面也会就这三点讲述一下。

阅读更多

2016年终总结

今天凌晨2点吃完饭回来之后,真是辗转反侧,不知为何,一直难以入眠,或许因为过了睡点,又或许因为昨晚的年会玩得太嗨,也可能是感觉对过去的一年有些许遗憾……

阅读更多

Java 的 Checked 和 Unchecked Exception【译】

如果在 Java 应用中对 Exception 能够正确处理,那么将会使你的程序更具有健壮性。但是很多人对 Exception 中的 Checked ExceptionUnchecked Exception 并不理解,并且 Exception 又常常被被分为 JVM Exception 和程序 Exception,这就让一些开发者显得更加困惑了,本文就这几个概念详细讲述一下。(本文翻译自Checked and Unchecked Exceptions in Java

阅读更多

Vim 快捷键总结

Vim 到目前位置也用了将近两年,但是很多的快捷键每次要用到的时候还是会 Google 一下,只能记住很少的命令,查的过程其实还是会浪费很多时间,这里总结一下一些常用的 Vim 命令,以便以后查看。

阅读更多

技巧,其实并没有什么技巧,只不过多了些毅力罢了

本文是关于技巧这本书的读书笔记。这本书是作者根据自己的生活学习经历悟出的一些方法论,满满的正能力,但有不同于一般的鸡汤文,书中提到的那些技巧,其实每个人都可以做到,但实际上却很少有人做到,正如作者所说因为别人都睡着,你醒着那么你就是杰出的。方法其实还是那种最简单的方法,简要来说就是行动+坚持,这也是最难的方法,因为坚持是最难的。用这种方法达到自己想要效果的人就认为这种方法非常有用,就如作者学习英语一样,而对于大多数那些坚持不下去的人来说,他们感觉这就是在扯犊子,正所谓方法因人而异。如果一味地去追求 XX 天精通 XX,其实最后的结果只会是从入门到放弃

阅读更多

观念在变化、在成长

之前公司推送了一位大神的推荐书单,当中推荐了这本《观念的水位》,那是第一次看到这本书,记得当时看到这本书的名字,瞬间就吸引了我的兴趣,然后就在豆瓣上搜索了一下,看到评价还不错,就加到了自己的书单里。再后来,回到学校就在网上找到这本书的电子版,下载到手机里就开始看了起来,中间大概花了半个月的时间把这本书看完,那段时间基本上每天在公司上下班的班车和地铁上都在看这本书。在看的过程中,根据每篇文章看后的感想,做了一部分的笔记,在文章的后面会列出来。

阅读更多

从《驴得水》到《我不是潘金莲》的一些思考

今年好久没去电影院看过电影了,今天趁着周末去看场电影,选了最近比较火的《我不是潘金莲》,据说这部电影跟《驴得水》有些相似之处,比较贴近现实,并那么做作。看完之后确实感慨很多,相比于以前的那些烂电影真的要好很多。

阅读更多

校招找工作小记

2016年,是一个很重要的年份,不但是自己的本命年,还是自己要踏出校园、走向工作的一年。从今年过完年回到学校,记得大概是2月底,这期间经历刷题、找实习、校招,直到前两天把三方交上,今天公司盖完章拿到回执信,工作也算终于确定了下来。在这过程中,经历过失落、兴奋、伤心等等,中间的喜悲,也只有自己最清楚了,趁着这几天晚上有点时间,回想一下过去几个月的心理路程写一篇校招的小记,也算是对这几个月的酸甜苦辣做一下总结。

阅读更多

人类简史,一段不知走向何处的简史

陆陆续续从7月份开始读这本书,直到昨天(10月底)才把这本书,拖这么久之后,发现,书中讲的很多东西已忘记的差不多了,也没有刚开始看前几章时那种爱不释手的感觉。只能根据自己一些浅显的记忆以及当时在书中记录的一些笔记来述说一下自己的感悟。

阅读更多

json 对象添加 double 型数值遇到的问题

这是一个关于修改 Kafka 源码时遇到的一个 bug,以及后续引起的一些思考。

阅读更多

JVM 学习——垃圾收集器与内存分配策略

本文主要是对《深入理解java虚拟机 第二版》第三章部分做的总结,文章中大部分内容都来自这章内容,也是博客 JVM 学习的第二部分。

阅读更多

JVM学习——java 内存区域与内存溢出分析

本文主要是对《深入理解java虚拟机 第二版》第二章部分做的总结,文章中大部分内容都来自这章内容,之所以记录到博客,是想通过这个过程加深自己的理解,并且方便以后遇到相关问题之后进行查阅。

阅读更多