Kafka核心技术与实战 / 全面提升你的Kafka实战能力
胡夕
人人贷计算平台部总监,Apache Kafka Contributor
 
  • 课程目录
  • 课程介绍
  • 开篇词 | 为什么要学习Kafka?

    这一次,彻底搞定Kafka!

  • 01 | 消息引擎系统ABC

    毫无疑问你现在对Apache Kafka一定充满了各种好奇,那么今天就允许我先来尝试回答下Kafka是什么这个问题。

  • 02 | 一篇文章带你快速搞定Kafka术语

    在Kafka的世界中有很多概念和术语是需要你提前理解并熟练掌握的,这对于深入学习Kafka各种功能和特性将大有裨益。

  • 03 | Kafka只是消息引擎系统吗?

    今天我们来聊一个老生常谈的话题:Kafka只是消息引擎系统吗?

  • 04 | 我应该选择哪种Kafka?

    清晰地了解Kafka的发展脉络和生态圈现状,对于指导我们选择合适的Kafka版本大有裨益。

  • 05 | 聊聊Kafka的版本号

    今天我想和你聊聊如何选择Kafka版本号这个话题,因为它实在是太重要了,我觉得它甚至是你日后能否用好Kafka的关键。

  • 06 | Kafka线上集群部署方案怎么做?

    今天我们就来看看在生产环境中的Kafka集群方案该怎么做。

  • 07 | 最最最重要的集群参数配置(上)

    我希望通过两期内容把最最最重要的Kafka集群配置讲清楚,今天我们先来学习下Broker端参数。

  • 08 | 最最最重要的集群参数配置(下)

    上一期我们讨论了Broker端参数设置的一些法则,今天我们继续来聊那些重要的Kafka集群配置。

  • 09 | 生产者消息分区机制原理剖析

    将数据均匀地分配到所有服务器上,是一个非常重要的问题。今天我就来和你说说Kafka生产者如何实现这个需求。

  • 10 | 生产者压缩算法面面观

    Producer端压缩、Broker端保持、Consumer端解压缩。今天我们来聊聊Kafka中压缩的那些事儿。

  • 11 | 无消息丢失配置怎么实现?

    Kafka只对“已提交”的消息做有限度的持久化保证。理解了这一点,我们就来学习下Kafka无消息丢失的“最佳实践”吧。

  • 12 | 客户端都有哪些不常见但是很高级的功能?

    Kafka拦截器可以满足我们的一些实际需求,比如端到端系统性能检测、消息审计等,今天我们就来聊一聊Kafka拦截器。

  • 13 | Java生产者是如何管理TCP连接的?

    在Kafka中,Producer客户端何时创建TCP连接,何时关闭TCP连接呢?今天我们来聊一聊这个话题。

  • 14 | 幂等生产者和事务生产者是一回事吗?

    幂等性Producer和事务型Producer都是Kafka社区力图为Kafka实现精确一次处理语义所提供的工具。

  • 15 | 消费者组到底是什么?

    消费者组是Kafka提供的可扩展且具有容错性的消费者机制,它避开了两种消息模型的缺陷,又兼具它们的优点。

  • 16 | 揭开神秘的“位移主题”面纱

    位移主题的主要作用是保存Kafka消费者的位移信息。为什么要引入位移主题?它的消息格式是怎样的?管理策略是什么呢?

  • 17 | 消费者组重平衡能避免吗?

    我们应用的TPS大多是被不必要的Rebalance拖慢的,因此,避免这类Rebalance就显得很有必要了。

  • 18 | Kafka中位移提交那些事儿

    Kafka提供了多种灵活的位移提交方法,你可以根据自己的业务场景定制合适的提交策略。

  • 19 | CommitFailedException异常怎么处理?

    今天,我们来聊聊CommitFailedException异常的含义、出现的时机和场景,以及每种场景下的应对之道。

  • 20 | 多线程开发消费者实例

    今天,我跟你分享两种比较通用的多线程消费的实现方案,希望你能结合实际业务场景,实现适合自己的多线程架构。

  • 21 | Java 消费者是如何管理TCP连接的?

    Java消费者何时创建TCP连接?会创建多少个TCP连接?何时关闭TCP连接?我们来一探究竟。

  • 22 | 消费者组消费进度监控都怎么实现?

    对于Kafka消费者来说,最重要的事情就是监控它们的消费进度了。今天,我们来聊聊消费者组消费进度监控的实现方法。

  • 23 | Kafka副本机制详解

    副本机制是Kafka设计架构的核心所在,它也是Kafka确保系统高可用和消息高持久性的重要基石。

  • 24 | 请求是怎么被处理的?

    Kafka是如何处理请求的呢?用一句话概括就是,Kafka使用的是Reactor模式。

  • 25 | 消费者组重平衡全流程解析

    重平衡需要在Coordinator的帮助下,完成整个消费者组的分区重分配。今天我们就来详细说说这个流程。

  • 26 | 你一定不能错过的Kafka控制器

    控制器组件,是Apache Kafka的核心组件。今天,我们就来详细说说控制器的原理和内部运行机制。

  • 27 | 关于高水位和Leader Epoch的讨论

    高水位机制在Kafka中举足轻重,而Leader Epoch机制主要是为了弥补高水位机制的一些缺陷。

  • 28 | 主题管理知多少?

    今天,我们来讨论一下Kafka中的主题管理,包括日常的主题管理、特殊主题的管理与运维以及常见的主题错误处理。

  • 29 | Kafka动态配置了解下?

    动态Broker参数最大的好处在于,无需重启Broker,就可以令变更生效,因此能够极大地降低运维成本。

  • 30 | 怎么重设消费者组位移?

    重设位移主要是为了实现消息的重演。目前,Kafka支持7种重设策略和2种重设方法。

  • 31 | 常见工具脚本大汇总

    今天,我们一起梳理一下Kafka 2.2版本自带的所有脚本,学习一些常见的运维操作的工具行命令。

  • 32 | KafkaAdminClient:Kafka的运维利器

    Java客户端版的AdminClient工具提供了几十种运维操作,而且它还在不断演进着。今天我们就来聊一聊这个运维利器。

  • 33 | Kafka认证机制用哪家?

    今天,我们来聊聊Kafka目前提供的几种认证机制,你需要根据自己的Kafka版本,来确定使用哪种认证机制。

  • 34 | 云环境下的授权该怎么做?

    今天,我们来聊一聊Kafka的授权机制。希望你能将这两讲内容结合起来学习,打造一个超级安全的Kafka集群。

  • 35 | 跨集群备份解决方案MirrorMaker

    Apache Kafka社区提供的MirrorMaker工具,可以帮我们实现消息或数据从一个集群到另一个集群的拷贝。

  • 36 | 你应该怎么监控Kafka?

    要监控Kafka,我们需要从Kafka主机、JVM和Kafka集群本身这三个维度来进行。

  • 37 | 主流的Kafka监控框架

    今天,我们来聊聊具体的监控工具或监控框架。你可以结合自己的监控需要,选择适合的框架。

  • 38 | 调优Kafka,你做到了吗?

    高吞吐量、低延时是我们调优Kafka集群的主要目标。另外,对优化漏斗中的4个分层的调优,也非常重要。

  • 加餐 | 搭建开发环境、阅读源码方法、经典学习资料大揭秘

    今天,我们来聊点儿不一样的。我总结了3个热度很高的话题,现在一一来为你“揭秘”。

  • 39 | 从0搭建基于Kafka的企业级实时日志流处理平台

    从0构建一个实时流处理平台,可以试试Kafka Connect+Kafka Core+Kafka Streams的组合。

  • 40 | Kafka Streams与其他流处理平台的差异在哪里?

    我从应用部署、上下游数据源、协调方式和消息语义保障4个方面,详细分析一下Kafka Streams与其他框架的差异。

  • 41 | Kafka Streams DSL开发实例

    DSL提供了一组便捷的API帮助我们实现流式数据处理逻辑。我们今天来学习下Kafka Streams中的DSL开发方法。

  • 42 | Kafka Streams在金融领域的应用

    我今天来分享一下如何利用大数据技术,特别是Kafka Streams实时计算框架,来帮助我们更好地做企业用户洞察。

  • 结束语 | 以梦为马,莫负韶华!

    送君千里,终须一别。愿你继续在技术这条道路上深耕,并得偿所愿,不负韶华。我们江湖再见!

  • 用户故事 | 黄云:行百里者半九十

    “行百里者半九十。”Kafka的学习之旅不会随着专栏的完结而停止,只是读完专栏的内容,其实才走了旅程的一半而已。

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

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

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

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

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

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

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

胡夕,目前就职于人人贷,任计算平台部总监,是Apache Kafka社区活跃的代码贡献者,著有《Apache Kafka实战》一书,曾任职于IBM、搜狗和新浪微博等公司。胡夕对Kafka及其他开源流处理框架与技术有深刻理解,精通Kafka原理,主导过多个十亿级/天的消息引擎业务系统的设计与搭建,具有丰富的线上环境定位和诊断调优经验,曾给多家大型公司提供企业级Kafka培训。

专栏分为六部分,共42讲。

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

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

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

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

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

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

限时福利