《深入理解Kafka:核心设计与实践原理》笔误及改进记录

2019年2月下旬笔者的有一本新书——《深入理解Kafka:核心设计与实践原理》上架,延续上一本《RabbitMQ实战指南》的惯例,本篇博文用来记录现在发现的一些笔误,一是给购书的朋友一个参考,以防被笔误所迷惑;二是提供一个记录笔误的地方,方便再次印刷修改之用,这样也能进一步的完善这本书。

本书出版之前已校稿多次,也邀请了专业的技术小伙伴进行校稿,但还是会有漏网之鱼,还望各位海涵。(本文长期更新)

小伙伴们也可以提供一些新发现的笔误之处,这里都会记录,为了鼓励大家,发现笔误的小伙伴会在下一次印刷的致谢中留下大名。具体形式参考《RabbitMQ实战指南》笔误及改进记录的做法。


目前致谢内容如下:《深入理解Kafka:核心设计与实践原理》笔误及改进记录


第四次印刷

  1. 第109页最后一段,brokerArray变量的值为[0,1,2,3,4,56,7,8],5 6中间少了个逗号。(by:深码)
  2. 211页倒数第二段第二行timeMs=1s
  3. 364页最后的else改为else if (ttl < 0) (by: 虚怀若谷)

第三次印刷

time: 2019-05

  1. 20页代码initConfig()中第5行的properties应该改为props。(by:YX)
  2. 62页第一段第3行最后的ConsumerRecord<K,V>改成ConsumerRecords<K,V>,即加个s。(by:第七狙击手)

第二次印刷

time: 2019-03

  1. 57页第二段代码里面将“ProtostuffDeserializer.class.getName”改为“CompanyDeserializer.class.getName” (by: Snow)
  2. 64页 代码中“comsumed offset”改为“consumed”。(by: 默然)
  3. 94页 6.connections.max.idle.ms中的“关闭限制的连接”改为“关闭闲置的连接”。(by: bugskiller_cn)
  4. 104页第二段倒数第二行最后的topic.1_2应该改为topic_1.2。 (by: null)
  5. 124页最上面2个操作zk的步骤中 rmr和delete的位置互换。(by: bugskiller_cn)
  6. 187页最后一行,将日志分段2加入deletableSegments,改为“也”。(by: djdsjh)
  7. 203页续表中的第3行nullable_bytes的描述:“…,其余情况同nullable_bytes”,此处应该为“其余情况同bytes”。(by: 小斌斌)
  8. 288页最后一段的最后一行的"follower3"应该改为“follower2”。(by:程序猿)
  9. 298页第6段开头“主读从写”改为“主写从读”。

改进:在12页中1.3节,有些读者会在kafka单机情况下创建副本因子为3的主题,结果显而易见的会出错,如果看懂第1.1节的话在这里是没有问题的。不过为了照顾初学者,在下一次印刷时会在1.3节的第二段最后加上一句:(Kafka集群模式下,broker数为3)


第一次印刷

time: 2019-01
笔误记录:

  1. 第32页的注意中“如果key为null,那么计算……”中间加一句,改为“如果key为null并且有可用分区时,那么计算得到的……” (by:wangfeiyang12345)
  2. 第43页第二段(就一行)中“关闭限制的连接”改为“关闭闲置的连接”。(by: 天蚕变)
  3. 第55页第3行,方法应为deserialize,不是serialize。(by: gyzhs20)
  4. 第93页中“2. fetch.max.bytes 第一行中”应该与fetch.min.bytes对应。(by:Solove‘俊)

欢迎支持笔者新作:《深入理解Kafka:核心设计与实践原理》《RabbitMQ实战指南》,同时欢迎关注笔者的微信公众号:朱小厮的博客。
《深入理解Kafka:核心设计与实践原理》笔误及改进记录