Kafka 是 LinkedIn 开发并开源的一套分布式的高性能消息引擎服务,后来被越来越多的公司应用在自己的系统中,可以说,Kafka 是大数据时代数据管道技术的首选。在设计的时候,它就实现了高可靠、高吞吐、高可用和可伸缩,得益于这些特性,加上活跃的社区,Kafka 成为了一个完备的分布式消息引擎解决方案。

历经多年发展,Kafka 的功能和特性也在不断迭代,如今的 Kafka 集消息系统、存储系统和流式处理平台于一身,并作为连接着各种业务前台和数据后台的消息中间件,在线上环境承担了非常重要的作用。

但在 Kafka 的实际使用过程中,几乎所有人都或多或少会遇到一些问题,比如:

棘手的线上问题难于定位和解决,怎么办?

在 Kafka 版本的演进过程中,各种新功能层出不穷,导致各种兼容性问题接踵而至,怎么办?

当集群规模扩展到一定程度后,所追求的高性能与有限的资源之间的矛盾又变得日益尖锐起来,怎么办?

如何顺利填补这些“坑”,是摆在每个 Kafka 学习者面前最亟待解决的问题。

专栏分为六部分。

第一部分,Kafka 入门。作为正式学习前的热身,将介绍消息引擎这类系统的原理和用途,以及作为优秀的消息引擎代表,Kafka 是如何“脱颖而出”的。

第二部分,Kafka 的基本使用。将重点探讨 Kafka 如何用于生产环境,特别是线上环境的方案该如何制定。

第三部分,客户端实践及原理剖析。将带你学习 Kafka 客户端的方方面面,既有生产者的实操讲解,也有消费者的原理剖析,是专栏的重点内容。

第四部分,深入 Kafka 内核。将着重介绍 Kafka 最核心的设计原理,包括 Controller 的设计机制、请求处理的全流程等。

第五部分,管理与监控。这部分涵盖 Kafka 运维与监控的内容,将讨论如何高效运维 Kafka 集群,并分享有效监控 Kafka 的实战经验。

第六部分,高级 Kafka 应用之流处理。最后这一部分将会介绍 Kafka 流处理组件 Kafka Streams 的实战应用,并带你从头开发一个 demo 项目。