一本让你快速上手的《Kafka Streams实战》

异步社区官方博客

Kafka Streams是Kafka提供的一个用于构建流式处理程序的Java库,它与Storm、Spark等流式处理框架不同,是一个仅依赖于Kafka的Java库,而不是一个流式处理框架。除Kafka之外,Kafka Streams不需要额外的流式处理集群,提供了轻量级、易用的流式处理API。

本书作者 Bejeck 是 Kafka 社区的长期贡献者,对框架本身非常了解,虽然主题关于 Kafka Streams,但内容尽量保持了通用,很多概念和技巧可用于其他框架,比如聚合、时间窗口、事件时间与处理时间的区别、连接操作(stream-table、table-stream、stream-stream)、stream 和 table 的关系等,抛开实现细节不谈,这些内容在各框架之间基本是通用的,因此不光能学到 API 的使用,也能了解通用知识,这是好书的一个特点,从这个角度看,这本书还不错。(本段内容来自豆瓣评论)

作者写本书的目的是教大家如何开始使用Kafka Streams,更确切地说,是教大家总体了解如何进行流式处理。以结对编程的视角,假想当你在编码和学习API时,我就坐在你旁边。你将从构建一个简单的应用程序开始,在深入研究Kafka Streams时将添加更多的特性。你将会了解到如何对Kafka Streams应用程序进行测试和监控,最后通过开发一个高级Kafka Streams应用程序来整合这些功能。

本书组织结构:路线图

本书有4部分,共9章。第一部分介绍了一个Kafka Streams的心智模型,从宏观上向你展示它是如何工作的。以下章节也为那些想学习或想回顾的人提供了Kafka的基础知识。

第二部分继续讨论Kafka Streams,从基础API开始,一直到更复杂的特性,第二部分各章介绍如下。

第三部分将从开发Kafka Streams应用程序转到对Kafka Streams的管理知识的讨论。

第四部分是本书的压轴部分,在这里你将深入研究使用Kafka Streams开发高级应用程序。

Kafka Streams实战

作者:[美] 小威廉 · P. 贝杰克(William P. Bejeck Jr.) 译者:牟大恩

本书教读者在Kafka平台上实现流式处理。在这本易于理解的书中,读者将通过实际的例子来收集、转换和聚合数据,使用多个处理器,处理实时事件,可以使用KSQL 深入研究流式SQL。本书还讲解了Kafka Streams应用程序的测试和运维方面的内容(如监控和调试)。

本书主要内容 - 使用KStream API。 - 过滤、转换和拆分数据。 - 使用处理器API。 - 与外部系统集成。

如果读者具备分布式系统的一些经验,那么Kafka或流式应用程序的知识并不是必需的。