J梳理了一下自己在入门 kafka 时读过的一些书, 希望能帮助到对 kafka 感兴趣的小伙伴.

  涉及到的书籍:

  kafka 权威指南

  Kafka: The Definitive Guide (kafka 权威指南的英文原版)

  Kafka入门与实践

  kafka技术内幕

  推荐的书籍阅读顺序:

  优先阅读 「kafka 权威指南」, 基于 kafka 0.8.0 版本, 并包含 0.9.0 版本中即将引入的重要特性. 整体内容的设计上要合理得多, 基础-核心-架构-原理-更多组件-管理运维, 一步步循序渐进, 用书中的话来说

  给予一个技术书籍作者最好的赞赏莫过于这句话 -- 如果在一开始接触这门技术时能看到这本书就好了

  推荐的阅读方式: 「精读」, 适合用来 构建 对 kafka 理解

  其次阅读 「Kafka入门与实践」, 基于 kafka 0.9.0 版本. 权威指南在讲解具体的组件的时候, 才会附上少量的代码, 并且配上详细的注释, 而这本书在讲解组件时细致入微, 不仅会有具体类/方法的代码呈现和分析, 多半还配有「流程图/运行图」 等辅助进行讲解, 并且在 实践 上有很多 「真知灼见」(或者说踩过一些坑). 如果希望在生产上使用, 很有必要快速的看一遍实践部分的相关内容.

  推荐的阅读方式: 「快速阅读」掌握整本书的大致结构, 在感兴趣的组件部分, 推荐配合最新的源码一起阅读. 尤其推荐「实践」相关部分的内容.

  需要更深入细致的了解的话, 「kafka技术内幕」值得入手, 基于 kafka 0.9.0 版本(当时最新) 做的深入解读, 700多页的厚度会让你非常有「充实感」. 直到今年技术总监和我聊, 希望在 kafka 上做一些技术准备时, 才从书架上解开了尘封.

  推荐阅读方式: 兴趣驱动是最好的, 作者就是这样的情况下慢慢积累出的这样厚厚一本书, 我对高可用和高性能部分比较感兴趣, 所以配合最新的源码, 精读了这部分内容

  Kafka: The Definitive Guide, 关于英文原版, 我阅读英文并不流畅, 所以还是中文书籍为主, 英文原版多是「辅助作用」, 分享一条小 tips

  在一些感觉「怪异」的地方查看一下原版, 往往有奇效

  举几个奇效的例子:

  kafka 中的 broker, 有本书里作者称之为 「代理」, 如果在原版里整体看过 kafka 各个组件及其英文, 就不容易被误导了

  关于复制, replication vs mirror: kafka 中有专门的 mirrorMaker 模块处理复制的任务, 而经典的数据库主从复制中, 多是使用 replication. 英文原版中就特意比较了这 2 个词

  技术类书籍想要获得好的读书效果, 当然要动手. 值得参考的 github 项目:

  apache/kafka: kafka 源码, 在深入的过程中, 看书可以很好的引路, 源码才是最好的老师

  wurstmeister/kafka-docker: 目前使用量最高的 kafka docker 镜像. 虽然 kafka 也支持单机部署. 但是如果不能动手跑一个 kafka 集群进行实践, 「那和咸鱼有什么区别」

  kafka-manager: 雅虎实现的 kafka 开源管理组件, 要上生产, 管理组件也必须得跟上才行

tech| kafka入门书籍导读的更多相关文章

  1. Kafka学习(一)kafka指南(about云翻译)

    kafka 权威指南中文版 问题导读 1. 为什么数据管道是数据驱动企业的一个关键组成部分? 2. 发布/订阅消息的概念及其重要性是什么? 第一章 初识 kafka 企业是由数据驱动的.我们获取信息, ...

  2. kafka入门:简介、使用场景、设计原理、主要配置及集群搭建(转)

    问题导读: 1.zookeeper在kafka的作用是什么? 2.kafka中几乎不允许对消息进行"随机读写"的原因是什么? 3.kafka集群consumer和producer状 ...

  3. Kafka入门经典教程

      本帖最后由 desehawk 于 2015-5-3 00:45 编辑问题导读 1.Kafka独特设计在什么地方?2.Kafka如何搭建及创建topic.发送消息.消费消息?3.如何书写Kafka程 ...

  4. apache kafka源码分析-Producer分析---转载

    原文地址:http://www.aboutyun.com/thread-9938-1-1.html 问题导读1.Kafka提供了Producer类作为java producer的api,此类有几种发送 ...

  5. nomasp 博客导读:Android、UWP、Algorithm、Lisp(找工作中……

    Profile Introduction to Blog 您能看到这篇博客导读是我的荣幸.本博客会持续更新.感谢您的支持.欢迎您的关注与留言.博客有多个专栏,各自是关于 Android应用开发 .Wi ...

  6. java导读

    导读:      我们学习Java大概有3个方向,第一,桌面系统,包括C/S结构:第二,J2ME,面向无限领域,很有潜力的家伙,看看中国的手机用户就知道了.第三,面向企业应用.计算的平台,J2EE. ...

  7. 打造实时数据集成平台——DataPipeline基于Kafka Connect的应用实践

    导读:传统ETL方案让企业难以承受数据集成之重,基于Kafka Connect构建的新型实时数据集成平台被寄予厚望. 在4月21日的Kafka Beijing Meetup第四场活动上,DataPip ...

  8. Kafka#4:存储设计 分布式设计 源码分析

    https://sites.google.com/a/mammatustech.com/mammatusmain/kafka-architecture/4-kafka-detailed-archite ...

  9. TOP100summit:【分享实录-Microsoft】基于Kafka与Spark的实时大数据质量监控平台

    本篇文章内容来自2016年TOP100summit Microsoft资深产品经理邢国冬的案例分享.编辑:Cynthia 邢国冬(Tony Xing):Microsoft资深产品经理.负责微软应用与服 ...

随机推荐

  1. 记Spring-SpringMVC-Mybatis框架搭建

    1.spring相关架包的下载 云盘下载地址:https://pan.baidu.com/s/1o8sk8Ee 官网下载地址:http://repo.springsource.org/libs-rel ...

  2. PLSQL Developer在未安装Oracle Client情况下连接Oracle

    常用的Oracle开发的工具有SQL Developer和PL/SQL Developer, 用PL/SQL连接oracle数据库,不管是本地的还是远程的,一般都需要安装oracle客户端 如何达到不 ...

  3. Java中堆内存与栈内存分配浅析

    Java把内存划分成两种:一种是栈内存,另一种是堆内存.在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配,当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间, ...

  4. 海量数据存储之nosql教程(转)

    add by zhj: 不错的系列,作者介绍了NoSQL数据库,并重点研究了Memcached和Redis,不知道后续是否还有其它NoSQL数据库的文章 海量数据存储之nosql教程之-01基础理论 ...

  5. 转载一篇pandas和,mysql

    http://pandas.pydata.org/pandas-docs/stable/comparison_with_sql.html#compare-with-sql-join http://bl ...

  6. MariaDB日志

    1.查询日志:一般来说不开开启(会产生额外压力,并且不一定有价值),query log 记录查询操作:可以记录到文件(file)中也可记录到表(table)中 general_log=ON|OFF g ...

  7. thinkphp使用阿里云OSS最新SDK,文件部署

    这文章是建立在你已经注册号阿里云的OSS,和创建好Bucket前提下: 其实阿里云的帮助与文档写的很详细,这里只说一下源码方式 1.phpsdk下载地址(摘自阿里云OSS的帮助与文档)(也有我自己下载 ...

  8. linux安装tree命令

    安装 yum install -y tree 使用,比如显示/root的2层树结构 tree -L 2 /root 效果 /root ├── \033 ├── code │   └── hellowo ...

  9. Oracle SQL 外键测试

    测试SQL 创建SQL     t1为主表      t2为子表 create table t1(insert_date number,id int) create table t2(insert_d ...

  10. django基础2: 路由配置系统,URLconf的正则字符串参数,命名空间模式,View(视图),Request对象,Response对象,JsonResponse对象,Template模板系统

    Django基础二 request request这个参数1. 封装了所有跟请求相关的数据,是一个对象 2. 目前我们学过1. request.method GET,POST ...2. reques ...