2019年2月下旬笔者的有一本新书——《深入理解Kafka:核心设计与实践原理》上架,延续上一本《RabbitMQ实战指南》的惯例,本篇博文用来记录现在发现的一些笔误,一是给购书的朋友一个参考,以防被笔误所迷惑;二是提供一个记录笔误的地方,方便再次印刷修改之用,这样也能进一步的完善这本书。
本书出版之前已校稿多次,也邀请了专业的技术小伙伴进行校稿,但还是会有漏网之鱼,还望各位海涵。(本文长期更新)
小伙伴们也可以提供一些新发现的笔误之处,这里都会记录,为了鼓励大家,发现笔误的小伙伴会在下一次印刷的致谢中留下大名。具体形式参考《RabbitMQ实战指南》笔误及改进记录的做法。
目前致谢内容如下:
第五次印刷
- 9页 允许follower连接并同步到leader的初始化连接时间,以tickTime的倍数来表示。 (by: BertYoung)
- 42页 倒数第二段中2个的 acks 改为 retries。(by: 汤乎乎、CodingWorkers)
- 173页 第一段“那么一个字节长度的 Varints 最大只能表示 64”中的64改为63,下面有关65的说辞也改为64:(by: asd_1234555)
第四次印刷
time:2020-03
- 128页 第2段(1)中 CreateTopicRequest 改为 CreateTopicsRequest,即:加一个s;(3)中 CreateTopicRequest改为 CreateTopicsRequest, CreateTopicResponse 改为 CreateTopicsResponse, 即:都加一个s。
- 274页 第二张图中下面的标注 Consume-Transform-Producer 应该改为 Consume-Transaform-Produce,不过这里是图片,可以直接把这个文字裁剪掉。下面的图例中标注了“consume-transform-produce结构”,所以裁剪掉也并不影响整体。
第三次印刷
time: 2019-05
- 20页 代码清单2-1 initConfig()方法中第5行的properties应该改为props。
- 62页 第一段第3行最后的 ConsumerRecord<K,V> 改成 ConsumerRecords<K,V> ,即加个s。
- 65页 最后第二段最后一行中“重复消费的发送”改为“重复消费的发生”,即把【发送】改为【发生】
- 73页 第二段第二行中“查到不到”改为“查不到” (by: 陈)
- 91页 第二段代码中 offsets.clear() 这一行删掉 (玩图思瑞佛)
- 109页 最后一段最后一行,brokerArray变量的值为[0,1,2,3,4,56,7,8],5 6中间少了个逗号。
- 160页 最后一段最后一行,把“基架”改为“机架”
- 180页 5.3节第二段最后一行,【对应地可以增加或缩小索引项的密度】改为【对应地可以缩小或增加索引项的密度】,即将增加和缩小的位置替换。
- 192页 第一段第二行中参数【log.index.interval.bytes】改为【log.index.size.max.bytes】
- 211页 倒数第二段第二行 【timeMs=1ms】改为【timeMs=1s】
- 364页 最后的 【 } else { 】 改为 【 } else if (ttl < 0) { 】 (by: 虚怀若谷)
- 400页 倒数最后一段第二行 把 6 改成 5 。
第二次印刷
time: 2019-03
- 57页第二段代码里面将“ProtostuffDeserializer.class.getName”改为“CompanyDeserializer.class.getName” (by: Snow)
- 64页 代码中“comsumed offset”改为“consumed”。(by: 默然)
- 94页 6.connections.max.idle.ms中的“关闭限制的连接”改为“关闭闲置的连接”。(by: bugskiller_cn)
- 104页第二段倒数第二行最后的topic.1_2应该改为topic_1.2。 (by: null)
- 124页最上面2个操作zk的步骤中 rmr和delete的位置互换。(by: bugskiller_cn)
- 187页最后一行,将日志分段2页加入deletableSegments,改为“也”。(by: djdsjh)
- 203页续表中的第3行nullable_bytes的描述:“…,其余情况同nullable_bytes”,此处应该为“其余情况同bytes”。(by: 小斌斌)
- 288页最后一段的最后一行的"follower3"应该改为“follower2”。(by:程序猿)
- 298页第6段开头“主读从写”改为“主写从读”。
改进:在12页中1.3节,有些读者会在kafka单机情况下创建副本因子为3的主题,结果显而易见的会出错,如果看懂第1.1节的话在这里是没有问题的。不过为了照顾初学者,在下一次印刷时会在1.3节的第二段最后加上一句:(Kafka集群模式下,broker数为3)
第一次印刷
time: 2019-01
笔误记录:
- 第32页的注意中“如果key为null,那么计算……”中间加一句,改为“如果key为null并且有可用分区时,那么计算得到的……” (by:wangfeiyang12345)
- 第43页第二段(就一行)中“关闭限制的连接”改为“关闭闲置的连接”。(by: 天蚕变)
- 第55页第3行,方法应为deserialize,不是serialize。(by: gyzhs20)
- 第93页中“2. fetch.max.bytes 第一行中”应该与fetch.min.bytes对应。(by:Solove‘俊)
欢迎支持笔者新作:《深入理解Kafka:核心设计与实践原理》和《RabbitMQ实战指南》,同时欢迎关注笔者的微信公众号:朱小厮的博客。