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

举报
Tracy 发表于 2019/09/01 09:48:19 2019/09/01
【摘要】 Kafka Streams是Kafka提供的一个用于构建流式处理程序的Java库,它与Storm、Spark等流式处理框架不同,是一个仅依赖于Kafka的Java库,而不是一个流式处理框架。除Kafka之外,Kafka Streams不需要额外的流式处理集群,提供了轻量级、易用的流式处理API。本书作者 Bejeck 是 Kafka 社区的长期贡献者,对框架本身非常了解,虽然主题关于 Kaf...

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的基础知识。


  • 第1章介绍流式处理如何以及为何成为处理大规模实时数据的必需方式的历史,并提出Kafka Streams的心智模型,没有详细介绍任何代码,而是描述Kafka Streams是如何工作的。

  • 第2章为Kafka新手介绍一些Kafka入门知识。Kafka经验丰富的读者可以跳过这一章,直接进入Kafka Streams。


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

  • 第3章介绍一个Hello World应用程序,然后介绍一个更实际的应用程序示例——为虚构的零售商开发应用程序,包括高级特性。

  • 第4章讨论状态,并解释流式应用程序有时是如何需要状态的。同时读者还将了解如何实现状态存储以及如何在Kafka Streams中执行连接。

  • 第5章讨论表和流的二元性,并引入一个新概念——KTable。KStream是事件流,而KTable是相关事件的流或者更新流。

  • 第6章介绍低阶处理器API。到此时,一直使用的是高阶DSL,但是在这里,读者将学习如何在编写应用程序的自定义部分时使用处理器API。


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

  • 第7章介绍如何监控Kafka Streams应用程序,以查看处理记录所需要的时间以及定位潜在的处理瓶颈。

  • 第8章介绍如何测试Kafka Streams应用程序。读者将学习如何对整个拓扑进行测试,对单个处理器进行单元测试,以及使用嵌入式Kafka代理进行集成测试。


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

  • 第9章介绍使用Kafka Connect将现有的数据源集成到Kafka Streams中。你将会学习如何在流式应用程序中包括数据库表。然后你将看到数据在Kafka Streams中流动时如何使用交互式查询来提供可视化和仪表板应用程序,而无需关系型数据库。这一章还会介绍KSQL,可以使用它在Kafka运行连续的查询,除了使用SQL之外并不需要编写任何代码。


Kafka Streams实战


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


Kafka.jpg

  • Kafka,Streams技术的全面学习指南

  • 大数据流式处理从入门到实践

  • 两位Apache,Kafka作者作序推荐作品

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

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

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


文转载自异步社区。

文链接:https://www.epubit.com/articleDetails?id=N98a259ca-15b9-425a-bfc5-ba27136e82c3


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。