Kafka几乎是当今时代背景下数据管道的首选,无论你是做后端开发、还是大数据开发,对它可能都不陌生。开源软件Kafka的应用越来越广泛。Kafka 简单易学,其学习曲线平缓且学习周期短。只需要较短的时间学习,就可以学会Katka应用开发,完成一个高可用集群的部署和高可用应用程序的编写。
面对Kafka的普及和学习热潮,小编愿意分享自己多年的开发经验,带领读者比较轻松地掌握Kafka的相关知识。这便是小编分享学习笔记的原因。
首先大家先了解一个问题:为什么企业喜欢选用Kafka做消息中间件?
- 流处理平台:能构建实时的流数据处理程序来变换或处理数据流
- 快速持久化:可以在O(1)的系统开销下进行消息持久化
- 高性能:单机写入TPS约在100万条/秒,消息大小10个字节
- 完全分布式:Broker、Producer和Consumer都原生自动支持分布式自动实现负载均衡
- 消息有序:消费者采用Pull方式获取消息。通过控制能够保证所有消息被消费且仅被消费一次
这么强的学习笔记,看完笔记会有哪些收获?
这是小编自己整理的一个学习大纲,大纲和学习笔记都是可以免费分享的,有需要的朋友可以【点击这里】即可获取这些性能优化学习资料的免费领取方式
一、了解消息队列和Kafka
业界已有的消息队列系统,在扩展性、可靠性、资源利用率和吞吐率方面存在明显不足,故LinkedIn团队开始尝试设计一款新的消息队列系统,进而诞生了Kafka消息队列系统。
二、安装及配置Kafka
本节主要是介绍Kafka集群的安装与配置,包含以下内容:安装与配置基础环境、安装Kafka集群、安装与配置Kafka监控工具、編译Kafka 源代码,以及将Kaftka源代码导入代码编辑器中等。其中涉及的实战内容并不复杂。
三、Kafka的基本操作
本节主要是开始实战演练Katka的基本操作,比如操作Zookeeper集群和Kafka集群、管理主题、修改分区和副本等。
四、将消息数据写入Kafka系统一生产
在Kafka系统中写入数据的应用一般被称为“生产者”,而读取数据的应用一般被称为“消费者”。本节主要是讲Kafka 实战的核心内容——生产者, 包含什么是Katka 生产者、操作生产者、剖析生产者的配置属性、实现一个生产者应用的核心代码编写。
五、从Kafka系统中读取消息数据一-消费
本节主要是讲与生产者相关的另一个核心内容一消費者, 其内容包含:什么是Kafka消费者、操作消费者、剖祈消费者的配置属性等。
六、存储及管理数据
本节主要是讲Kafka系统中数据的存储及管理,采用图文并茂的方式讲解,简单易懂。通过本节内容,让大家可以深刻地理解Kaka系统底层的运作机制。
七、Kafka安全机制
本节主要是讲Kafka系统的安全机制,包括Kafka安全机制的背景、使用SSL加密和身份验证、权限控制、給Zookeeper授权等。
八、用Kafka连接器建立数据管道
本节主要是讲Kafka系统的连接器,内容包含认识Kafka连接器、操作Kafka连接器、开发一个简易的Kalka连接器等。
九、Kafka流处理
本节主要是讲Kalka流处理的相关内容。其中包含Kafka流处理、剖析流处理架构、实战操作KStream和KTable,以及开发一个单词统计流处理应用程序等。
十、监控与则试
本节主要是介绍Kafkxa Eagle系统,帮助读者熟悉这个Kafka监控工具。读者日后从事Kaka相关开发工作时,可以通过该监控工具来提升工作效率。
另外,还详细地介绍了Kafka 生产者和消费者性能基准测试所需要的环境,以及测试的步骤。让读者在日后调优Kaka生产者和消费者性能参数时,能够根据具体的测试环境得到最佳的参数值。
十一、Kafka与ELK套件的整合
在掌握了Kafka 基础知识、核心概念、底层实现等内容后,接下来将所学的Kafka知识运用实际项目中。本节主要是讲将kafka与第三方套件ELK进行整合来完成一个案例。
学习感言
Kafka 的设计可以帮助我们解决很多架构上的问题。但是想要用好 Kafka 的高性能、低耦合、高可靠性、数据不丢失等特性,我们需要非常了解 Kafka,以及我们自身的应用系统使用场景,并不是任何环境 Kafka 都是最佳选择。
网友评论