科学家们每一次发生分歧都是因为掌握的数据不够充分。所以,我们可以先就获取哪一类数据达成一致,只要获取了数据,问题也就迎刃而解了。要么我是对的,要么你是对的,要么我们都是错的,然后继续。
——Neil deGrasse Tyson
每个应用程序都会生成数据,包括日志、指标、用户活动记录、响应消息等,这些点点滴滴都在暗示一些重要的东西。
这就需要我们把数据从源头移动到可以对它们进行分析处理的地方,然后再把得到的结果应用到实际场景中,进而确切地知道这些数据要告诉我们什么。
那你一定知道,我们在数据移动上花费的精力越少,就越能专注于核心业务。
因此,你需要 Kafka 这样的数据处理框架!最近, 领域神书《Kafka 权威指南》重磅升级,第 2 版上市啦!本书第 1 版出版时,有超过 30% 的《财富》世界 500 强公司使用 Kafka。5 年后的今天,这个比例已经达到 70%。毋庸置疑,作为大数据时代的核心技术,Kafka 已然成为所有动态数据平台的事实基础。
传统的数据管理侧重的都是如何存储数据——文件存储或数据库保证了数据安全性,我们可按需查找到想要的数据。人们在这些系统上已经投入大量的精力和金钱。但是,现代化公司不只是拥有一个带有单个数据库的软件系统那么简单,它们的系统可以复杂到令人难以置信的程度,可以由数百甚至数千个自研应用程序、微服务、数据库、SaaS 和分析平台组成。我们所面临的问题逐渐变成了如何将这些“碎片”连接起来,实现实时的协同工作。这个问题不是关于如何管理静态数据,而是关于如何管理动态数据。Kafka 就是这一运动浪潮的核心,它已经成为所有动态数据平台事实上的基础。在这段旅程中,Kafka 并没有停滞不前。从最初只是简单地提交日志,到后来加入了连接器和流式处理能力,Kafka 一直在改进架构。为了提升 Kafka 的可用性和稳定性,Kafka 社区不仅在不断地改进已有的 API、配置参数、指标和工具,还加入了新的编程式管理 API、下一代全局复制和数据冗余解决方案 MirrorMaker 2.0、一个新的基于 Raft 的共识协议(通过单个可执行文件就可以运行 Kafka)和分层存储弹性。更重要的是,Kafka 加入了高级安全特性——身份验证、授权和加密,这让企业在关键应用场景中使用Kafka 变得更加简单。随着 Kafka 的演进,它的应用场景也在发生变化。 《Kafka 权威指南》的升级迫在眉睫!在本书第 1 版出版时,大部分 Kafka 系统被部署在传统的本地数据中心,使用的是传统的部署脚本。最常见的应用场景是ETL 和消息传递,那时流式处理才刚刚起步。5 年之后,大部分 Kafka 系统运行在云端,其中有很多被部署在 Kubernetes 集群里。ETL 和消息传递仍然是常见的应用场景,不同的是,现在加入了基于事件驱动的微服务、实时流式处理、物联网、机器学习管道以及数以百计的行业特定应用场景和模式,比如保险公司理赔处理、银行交易系统、实时视频游戏和流媒体服务个性化定制。这本书为使用 Kafka 的软件工程师、架构师和运维工程师勾勒出一条完整的学习曲线,并强调原理剖析和应用实践。全面介绍 Kafka 的技术原理和应用技巧,内容包括如何安装和配置 Kafka、如何使用 Kafka API、Kafka 的设计原则和可靠性保证,以及 Kafka 的一些架构细节,如复制协议、控制器和存储层。如前所述,本书列举了一些非常流行的 Kafka 应用场景,比如基于事件驱动的微服务系统的消息总线、流式处理应用程序和大规模数据管道。通过本书中详细的示例,你将了解 Kafka 的设计原则、可靠性保证,以及架构细节,包括复制协议、控制器和存储层。 可以说,这本书为如何在云端或本地使用好 Kafka 提供了所需的一切!它不仅告诉我们使用 Kafka 能做什么以及如何使用,还告诉我们不能使用 Kafka 做什么以及要避免哪些反模式。不管是新用户还是有经验的老手,这本书都是一部可信赖的指南。 来自 Confluent 和 LinkedIn 的一线 Kafka 开发人员 :格温、托德、拉吉尼和克里特,将多年的智慧融汇到这本书中。如果你正在使用 Kafka,那么这本书正是你所需要的!
Kafka 核心作者 Jay Kreps 作序推荐