Kafka源码解析与实战

王亮
序 近些年来,大数据技术蓬勃发展,各种围绕大数据处理的平台技术,包括组件、工具、框架越来越丰富;相关的开源工具和实践资料也越来越多,其中消息队列便是一个重要的组成部分。对于一个大型系统而言,我们通常需要围绕消息来构建整个系统的逻辑,Kafka便是目前最主流的消息系统之一。网络上有很多关于Kafka使用的文章,但是始终没有一本全面的从源码和设计上展开阐述的书籍。 值得庆幸的是,本书全面解析了Kafka的核心架构设计和源码,是国内少有的针对Kafka进行系统性讲解的书籍。 作者在浙江大华技术股份有限公司工作期间,一方面参与分布式数据库平台开发,一方面参与整体的系统架构设计。由于各种不同的应用场景的需求,作者所在公司内部用过多种不同消息队列,如Kafka、ActiveMQ、RocketMQ等,同时也实操了大量的Hadoop、Spark等大数据技术和消息队列的结合应用,这些经历使得作者能比较全面地从理论和实践两个视角去看待Kafka。阅读本书可使读者深入了解Kafka的设计原理和使用技巧,相信读者一定会有所收获。 许焰 大华股份,研发副总经理 前言 我开始接触分布式计算的时候,正好需要利用Spark结合Kafka进行流式处理。恰巧的是Kafka和Spark底层都是利用Scala语言编写的,并且当时市面上有关Kafka的中文书籍几乎没有,因此正好利用这个机会学习了Scala语言,并且通读了Kafka和Spark的源码,随后把日常的积累通过博客的形式慢慢记录下来。在这一年多的积累过程中,发现有关Kafka的中文书籍还是很缺乏,便有了总结出书的想法,而恰在这个时候吴怡编辑通过博客联系上了我,希望我把日常的积累总结成Kafka的专业性书籍,分享给更广大的从事大数据相关工作的人群。 本书将从初学者的角度出发,循序渐进地讲解Kafka内部的实现原理,但是由于Kafka是基于Scala语言…