上QQ阅读APP看书,第一时间看更新
前言
给予一位技术图书作者的最佳赞赏莫过于这句话——“如果在刚开始接触这门技术时有这本书就好了”。在开始撰写本书时,我们就是以这句话作为写作目标的。通过开发Kafka,在生产环境中运行Kafka,帮助很多公司构建基于Kafka 的系统并帮助它们管理数据管道,我们积累了很多经验,但也感到困惑:“应该把哪些东西分享给Kafka 新用户,让他们从新手变成专家?”本书就是我们日常工作最好的写照:运行Kafka,并帮助其他人更好地使用Kafka。
我们相信,书中提供的这些内容能够帮助Kafka 用户在生产环境中更好地运行Kafka,并基于Kafka 构建健壮的高性能应用程序。我们列举了一些非常流行的应用场景:基于事件驱动的微服务系统的消息总线、流式处理应用程序以及大规模数据管道。本书通俗易懂,能够帮助每一位Kafka 用户在任意的架构或应用场景中使用好Kafka。书中介绍了如何安装和配置Kafka、如何使用Kafka API、Kafka 的设计原则和可靠性保证,以及Kafka 的一些架构细节(比如复制协议、控制器和存储层)。我们相信,Kafka 的设计原理和内部架构不仅是分布式系统构建者的兴趣所在,对那些在生产环境中部署Kafka 或使用Kafka 构建应用程序的人来说也非常有用。越是了解Kafka,你就越是能够更好地做出技术权衡。
在软件工程中,条条道路通罗马,每一个问题通常有多种解决方案。Kafka 为专家级用户提供了巨大的灵活性,而新手则需要克服陡峭的学习曲线才能成为专家。Kafka 通常会告诉你如何使用某个特性,但不会告诉你为什么要用它或为什么不该用它。我们会尽可能详细地解释我们的设计决策和权衡背后的缘由,以及用户在哪些情况下应该或不应该使用Kafka 提供的特性。