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. MyEclipse中手工添加dtd支持

    1.先下载好相应的dtd文件,如struts-2.3.dtd 2.打开MyEclipse,Window->Preferences 在搜索框中输入"XML Catalog" 3 ...

  2. Spoken English Practice(Look, That cute guy is checking me out. come on, give me a break, he's just looking around.)

    绿色:连读:                  红色:略读:               蓝色:浊化:               橙色:弱读     下划线_为浊化 口语蜕变(2017/7/6) 英 ...

  3. 帝国CMS 7.2数据导入后的参数修正

    1.日期转时间戮,HTML文件名,目录名更改 update cms_ecms_jdba set newstime = UNIX_TIMESTAMP(submitTime),titleurl = CON ...

  4. PHP中Trait详解及其应用

    w PHP中Trait详解及其应用 - 开发者日常 - SegmentFaulthttps://segmentfault.com/a/1190000008009455

  5. Linux入门之运维(1) 系统监控 vmstat top

    vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况.这个命令是我查看Linux/Unix最 ...

  6. python多线程的两种写法

    1.一般多线程 import threading def func(arg): # 获取当前执行该函数的线程的对象 t = threading.current_thread() # 根据当前线程对象获 ...

  7. Hadoop的IO操作

    Hadoop的API官网:http://hadoop.apache.org/common/docs/current/api/index.html   相关的包 org.apache.hadoop.io ...

  8. Jupyter Notebook修改目标文件

    默认的路径 如果没有修改配置文件,那么一般就在用户目录下面: 下面各处默认起始目标地址,以防有一天想改回来 I:\shujufenxi\python.exe I:\shujufenxi\cwp.py ...

  9. springmvc国际化资源文件

    spring配置文件中添加 <!-- 配置国际化资源文件 --> <bean id="messageSource" class="org.springf ...

  10. UVALive 6906 A - Cluster Analysis

    思路:排个序,依次选就好了. #include <bits/stdc++.h> #define PB push_back #define MP make_pair using namesp ...