概述
一本320页的书,包含11章。除了文本内容外,书中还包括了大量的图表信息以及嵌入的代码片段。难度级别为中级。每章都附有一个简短的总结,由几句话组成。
简要概述
前两章可以看作是介绍性的内容。第一章介绍了Kafka:发布/订阅原理、其定位和应用领域。第二章详细讲解了Kafka的安装过程,从选择操作系统和安装ZooKeeper到内存、磁盘、网络和处理器的要求。仅这两章介绍性内容就占了整本书的约20%。
由于Kafka基于发布/订阅原则构建,因此很自然地,安装后立即讨论了生产者和消费者。这是接下来两章的重点。由于我不是Kafka专家,所以很难明确评估这些主题的深度,但我可以提到一些涉及的内容:创建和配置消费者与生产者、同步和异步消息发送、序列化、交付保证以及偏移量的处理。
下一章更深入地探讨了架构细节。讨论了复制机制、索引处理、故障处理等内容。
然后是关于数据交付可靠性的一章。涵盖了ACID原则,其中很大一部分内容是关于复制及其配置选项的讨论。
接下来的章节是关于构建数据管道的。它从对系统需求的讨论开始,接着介绍了Kafka Connect、处理来自MySQL和Elasticsearch的数据,并简要提到了Kafka Connect的替代方案。
随后的章节重点介绍了使用MirrorMaker在不同Kafka集群之间进行复制的功能。涵盖了迁移场景、备份以及在地理分布层面确保容错能力的内容。
之后是两章关于Kafka管理和监控的内容。这里不需要详细展开,有需要的人可以自己查阅。总的来说,这些章节既不枯燥,也不显得过于复杂。
最后,最后一章专门讨论了流数据处理——涵盖了Kafka Streams的基础知识以及构建实时数据处理应用程序的内容。
意见
一本不错的关于Kafka的书。尽管我在阅读之前没有使用过Kafka,但书中的内容相当易懂且信息丰富。遗憾的是,许多内容如果没有实际使用经验会很快遗忘,但之前所做的笔记帮助我迅速复习了这些内容。如果你是一名后端程序员,并计划继续提升自己的专业技能,我会推荐你阅读这本书,即使你已经熟悉其他消息代理系统。