4006-998-758
3000+课程任你选择
Redis与Kafka实战
研发学院 Kafka Redis 开课时间:2021-07-03
尹立庆

多年从事容器技术、云计算、物联网研发工作经验。北航移动云计算硕士。Cloudera大数据认证(图1),项目管理师(PMP)认证(图2),主要研究方向包括容器技术、云计算、物联网、项目管理等;曾就职于阿里等互联网企业,IBM、华为等知名大型企业,现任某大型知名互联网企业首席架构,负责容器技术、云计算、物联网、PaaS平台研发工作。

IT从业近二十年,秉承理论与实践相结合,在学习中实践,在实践中学习,积累了丰富的理论与实践经验,并且乐于将自己的经验分享。尹老师具有敏锐的目光与头脑,发现并集成整合社会资源,为企业节省资源并创造价值,达到为合作伙伴创收的目的。曾为多家国内知名企业提供培训与咨询,包含阿里集团、华为、中国移动、中国电信、中国联通、当当网、中石油、中石化、中国电网、中国银行、中国工商银行、浦发银行、阿尔卡特朗讯、中航国际等。拥有云计算、物联网、大流量、高并发、分布式的大型网站架构和设计经验。曾主导过多个云计算、物联网、私有云、公有云建设项目,早些年也主导过ERP、CMS等软件项目,积累了丰富的实践经验,这些项目中包含多个数百万、上千万的大型项目。项目经历:呼叫中心人工智能客服研发项目、贵州省政府云呼叫中心建设项目、广东发展银行电营、运维大数据分析项目、中石油工程设计西南分公司云计算项目评审委员、中石油大数据挖掘项目,电商库存预测大数据分析项目、大型ERP、电子商务、CRM、电子政务等多个项目。


查看老师详情
课程内容


课程简介


随着互联网的快速普及,以及大数据在生产生活中迅速应用,对企业业务的高并发提出苛刻的要求,如何能够满足业务的高并发需求呢?Redis和Kafka可以满足高并的苛刻需求,被越来越多的企业所使用。Redis和Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理大规模的网站的所有动作流数据。基于以上市场需求尹老师专门总结了使用Redis和Kafka的多年工作经验,帮助学员提升Redis和Kafka技能,学会使用Redis和Kafka。

本课程重点讲解Redis和Kafka的安装配置、API的使用、持久化与复制、集群搭建与运维等。

 

课程目标


1、 使学员掌握Redis和Kafka的安装配置、集群的部署与运维;

2、 使学员掌握Redis和Kafka的使用、持久化与复制、开发与缓存设计等;

3、 使学员具备基于Redis和Kafka的开发能力。

 

课程对象


1、 本课程适合于即将投身于大数据领域的企业或者个人;

2、 本课程适合于开发人员、系统架构师、高级程序员、资深开发人员;

3、 本课程适合于企业IT技术优化的人员;

4、 政府机关,金融保险、移动互联网、能源行业等相关技术人员;

5、 高校、科研院所统计分析研究员,涉及到数据处理的人员;

 

课程形式

 

以课堂讲解、演示、案例分析为主,辅以互动研讨、现场答疑、学以致用。


课程大纲


时间

内容

备注

第一天

第1个主题: 内存数据库Redis的概述(介绍内存数据库Redis的诞生背景以及适用的场景)(30分钟)

1、 内存数据库的兴起背景

2、 CAP理论

3、 BASE思想

4、 RWN理论

5、 NoSQL数据库

6、 Redis简介

7、 Redis的适用场景

8、 Redis的企业应用案例

 

第2个主题: 内存数据库Redis的安装配置(详细介绍内存数据库Redis的安装配置)(30分钟)

1、 Redis数据库原理

2、 Redis数据库应用

3、 Redis安装部署

4、 Redis配置详解

5、 客户端

 

第3个主题: 内存数据库Redis API的使用(详细介绍内存数据库Redis API的内存使用)(30分钟)

1、 Redis Key类型

2、 Redis String类型

3、 Redis Hash类型

4、 Redis Set类型和ZSet类型

5、 Redis List类型

6、 Redis Key超时机制

7、 Redis常用命令介绍

 

第4个主题: 内存数据库Redis的持久化与复制(详细介绍内存数据库Redis的持久化与复制)(30分钟)

1、 Redis 持久化

2、 Redis副本

3、 Redis主从复制

 

第5个主题: 内存数据库Redis的开发(详细介绍内存数据库Redis的开发)(30分钟)

1、 倒排索引

2、 Java语言访问Redis

3、 PHP语言访问Redis

4、 Python语言访问Redis

 

第6个主题: Redis应用及实战(深入介绍Redis的使用与实践)(30分钟)

1、 Redis数据库原理

2、 Redis数据库应用

3、 Redis开发实践(倒排索引)

4、 Redis开发调试

5、 Redis优化

6、 Redis发布订阅机制剖析

 

第7个主题: 内存数据库Redis的缓存设计与穿透优化(详细介绍内存数据库Redis的缓存设计与穿透优化)(30分钟)

1、 缓存设计

2、 穿透优化

 

第8个主题: Redis企业案例介绍(分享Redis在互联网企业中的实际应用案例)(30分钟)

1、 基于Redis的微博系统分享

2、 基于Redis的IM服务器分享

 

第9个主题: 内存数据库Redis的集群搭建(详细介绍内存数据库Redis的集群搭建)(30分钟)

1、 Redis主从部署

2、 Redis一主多从部署

3、 Redis Cluster部署

4、 Codis介绍

5、 Codis整体设计

6、 Codis架构

7、 Codis组件介绍

8、 Codis配置详解

 

第10个主题: 基于Redis的分布式内存计算架构设计(介绍Redis在大数据分布式内存计算中的典型应用架构)(30分钟)

1、 master/slaves

2、 一致性哈希环

3、 分布式协调器

4、 消息队列机制

1、 分布式事务机制

 

第11个主题: 内存数据库Redis的Linux的配置优化与运维(详细介绍内存数据库Redis的Linux的配置优化与运维)(30分钟)

1、 Redis安全

2、 Redis加密

3、 Redis信号处理

4、 Redis连接管理

5、 Redis高可用方案

6、 Redis监测

7、 Redis Benchmarks

8、 Redis发布/订阅

9、 Redis管道

10、 Redis事务处理

11、 Redis虚拟内存

12、 Redis内存优化

13、 Redis Lua脚本

14、 Redis LRU缓存

15、 Redis插入大规模数据

16、 Redis分区

17、 Redis关键域空间

 

第12个主题: Redis源代码剖析(剖析Redis源代码)(30分钟)

1、 Redis架构剖析

2、 服务端源代码剖析

3、 客户端源代码剖析

 

第13个主题: Redis Labs框架剖析(深入剖析Redis在云计算环境中的应用)(30分钟)

1、 Redis Cloud

2、 Memcached Cloud

3、 Redis Labs Enterprise Cluster

4、 Redis内存数据库优劣分析


时间

内容

备注

第二天

第14个主题: 初识Kafka(深入理解Kafka)(30分钟)

1、 初识Kafka

2、 发布与订阅消息系统

3、 如何开始

4、 独立的队列系统

5、 Kafka诞生的背景

6、 消息和批次

7、 模式

8、 主题和分区

9、 生产者和消费者

10、 broker和集群

11、 多集群

12、 为什么选择Kafka

13、 多个生产者

14、 多个消费者

15、 基于磁盘的数据存储

16、 伸缩性

17、 高性能

18、 数据生态系统

19、 起源故事

20、 LinkedIn的问题

21、 Kafka的诞生

22、 走向开源

23、 命名

24、 开始Kafka之旅

 

第15个主题: 安装Kafka(安装Kafka)(30分钟)

1、 安装Kafka

2、 要事先行

3、 选择操作系统

4、 安装Java

5、 安装Zookeeper

6、 安装Kafka Broker

7、 broker配置

8、 常规配置

9、 主题的默认配置

10、 硬件的选择

11、 磁盘吞吐量

12、 磁盘容量

13、 内存

14、 网络

15、 CPU

16、 云端的Kafka

17、 Kafka集群

18、 需要多少个broker

19、 broker配置

20、 操作系统调优

21、 生产环境的注意事项

22、 垃圾回收器选项

23、 数据中心布局

24、 共享Zookeeper

 

第16个主题: Kafka生产者——向Kafka写入数据(深入理解Kafka生产者——向Kafka写入数据)(30分钟)

1、 Kafka生产者——向Kafka写入数据

2、 生产者概览

3、 创建Kafka生产者

4、 发送消息到Kafka

5、 同步发送消息

6、 异步发送消息

7、 生产者的配置

8、 序列化器

9、 自定义序列化器

10、 使用Avro序列化

11、 在Kafka里使用Avro

12、 分区

13、 旧版的生产者API

 

第17个主题: Kafka消费者——从Kafka读取数据(深入理解Kafka消费者——从Kafka读取数据)(30分钟)

1、 Kafka消费者——从Kafka读取数据

2、 KafkaConsumer概念

3、 消费者和消费者群组

4、 消费者群组和分区再均衡

5、 创建Kafka消费者

6、 订阅主题

7、 轮询

8、 消费者的配置

9、 提交和偏移量

10、 自动提交

11、 提交当前偏移量

12、 异步提交

13、 同步和异步组合提交

14、 提交特定的偏移量

15、 再均衡监听器

16、 从特定偏移量处开始处理记录

17、 如何退出

18、 反序列化器

19、 独立消费者——为什么以及怎样使用没有群组的消费者

20、 旧版的消费者API

 

第18个主题: 深入Kafka(深入理解Kafka)(30分钟)

1、 深入Kafka

2、 集群成员关系

3、 控制器

4、 复制

5、 处理请求

6、 生产请求

7、 获取请求

8、 其他请求

9、 物理存储

10、 分区分配

11、 文件管理

12、 文件格式

13、 索引

14、 清理

15、 清理的工作原理

16、 被删除的事件

17、 何时会清理主题

 

第19个主题: 可靠的数据传递(深入理解可靠的数据传递)(30分钟)

1、 可靠的数据传递

2、 可靠性保证

3、 复制

4、 broker配置

5、 复制系数

6、 不完全的首领选举

7、 最少同步副本

8、 在可靠的系统里使用生产者

9、 发送确认

10、 配置生产者的重试参数

11、 额外的错误处理

12、 在可靠的系统里使用消费者

13、 消费者的可靠性配置

14、 显式提交偏移量

15、 验证系统可靠性

16、 配置验证

17、 应用程序验证

18、 在生产环境监控可靠性

 

第20个主题: 构建数据管道(深入理解构建数据管道)(30分钟)

1、 构建数据管道

2、 构建数据管道时需要考虑的问题

3、 及时性

4、 可靠性

5、 高吞吐量和动态吞吐量

6、 数据格式

7、 转换

8、 安全性

9、 故障处理能力

10、 耦合性和灵活性

11、 如何在Connect API和客户端API之间作出选择

12、 Kafka Connect

13、 运行Connect

14、 连接器示例——文件数据源和文件数据池

15、 连接器示例——从MySQL到ElasticSearch

16、 深入理解Connect

17、 Connect之外的选择

18、 用于其他数据存储的摄入框架

19、 基于图形界面的ETL工具

20、 流式处理框架

 

第21个主题: 跨集群数据镜像(深入理解跨集群数据镜像)(30分钟)

1、 跨集群数据镜像

2、 跨集群镜像的使用场景

3、 多集群架构

4、 跨数据中心通信的一些现实情况

5、 Hub和Spoke架构

6、 双活架构

7、 主备架构

8、 延展集群

9、 Kafka的MirrorMaker

10、 如何配置

11、 在生产环境部署MirrorMaker

12、 MirrorMaker调优

13、 其他跨集群镜像方案

14、 优步的uReplicator

15、 Confluent的Replicator

 

第22个主题: 管理Kafka(深入理解管理Kafka)(30分钟)

1、 管理Kafka

2、 主题操作

3、 创建主题

4、 增加分区

5、 删除主题

6、 列出集群里的所有主题

7、 列出主题详细信息

8、 消费者群组

9、 列出并描述群组

10、 删除群组

11、 偏移量管理

12、 动态配置变更

13、 覆盖主题的默认配置

14、 覆盖客户端的默认配置

15、 列出被覆盖的配置

16、 移除被覆盖的配置

17、 分区管理

18、 首选的首领选举

19、 修改分区副本

20、 修改复制系数

21、 转储日志片段

22、 副本验证

23、 消费和生产

24、 控制台消费者

25、 控制台生产者

26、 客户端ACL

27、 不安全的操作

28、 移动集群控制器

29、 取消分区重分配

30、 移除待删除的主题

31、 手动删除主题

 

第23个主题: 监控Kafka(深入理解监控Kafka)(30分钟)

1、 监控Kafka

2、 度量指标基础

3、 度量指标在哪里

4、 内部或外部度量

5、 应用程序健康检测

6、 度量指标的覆盖面

7、 broker的度量指标

8、 非同步分区

9、 broker度量指标

10、 主题和分区的度量指标

11、 Java虚拟机监控

12、 操作系统监控

13、 日志

14、 客户端监控

15、 生产者度量指标

16、 消费者度量指标

17、 配额

18、 延时监控

19、 端到端监控

 

第24个主题: 流式处理(深入理解流式处理)(30分钟)

1、 流式处理

2、 什么是流式处理

3、 流式处理的一些概念

4、 时间

5、 状态

6、 流和表的二元性

7、 时间窗口

8、 流式处理的设计模式

9、 单个事件处理

10、 使用本地状态

11、 多阶段处理和重分区

12、 使用外部查找——流和表的连接

13、 流与流的连接

14、 乱序的事件

15、 重新处理

16、 Streams示例

17、 字数统计

18、 股票市场统计

19、 填充点击事件流

20、 Kafka Streams的架构概览

21、 构建拓扑

22、 对拓扑进行伸缩

23、 从故障中存活下来

24、 流式处理使用场景

25、 如何选择流式处理框架

26、 在其他操作系统上安装Kafka

 

第25个主题: 分布式消息中间件Kafka剖析(深入理解Kafka的实现原理)(30分钟)

1、 Kafka诞生背景剖析

2、 什么是Kafka

3、 Kafka特征剖析

4、 Kafka应用场景

5、 Kafka架构剖析

6、 Broker

7、 Producer

8、 Consumers

9、 Topics

10、 Leader

11、 Follower

12、 队列模式(queuing)

13、 发布-订阅模式(publish-subscribe)

14、 Kafka创建topic、发送消息、消费消息

15、 数据传输的事务定义

16、 数据的持久化

17、 Kafka存储在硬盘上的消息格式

 

第26个主题: Kafka集群部署剖析(介绍Kafka集群部署)(30分钟)

1、 Kafka集群部署架构介绍

2、 Kafka集群部署环境准备

3、 Kafka集群部署

4、 Kafka节点管理

5、 Kafka运维管理

6、 Kafka主从同步

7、 Kafka的性能优化

8、 Kafka的消息与日志

9、 Kafka实战案例:Kafka集群部署实践

 

第27个主题: Kafka Shell操作实战(全面深入理解Kafka相关命令和具备Kafka的运维能力)(30分钟)

1、 Kafka Shell介绍

2、 Kafka查看日志命令

3、 Kafka主从命令

4、 Kafka监控命令

 

第28个主题: 编写Kafka程序(深入理解Kafka的APIs并动手实践)(30分钟)

1、 搭建Kafka开发环境

2、 Driver程序开发

3、 Producer程序开发

4、 Consumer程序开发

5、 发布与运行

6、 Kafka APIs全面剖析

7、 Kafka APIs应用场景剖析及案例

8、 Kafka程序监控

9、 Kafka实战案例:Kafka整合实现数据实时数据分析处理设计与分析

 

第29个主题: Kafka与其它软件集成(介绍Kafka与其它软件系统集成)(30分钟)

1、 Redis与Kafka集成

2、 Kafka与Hadoop集成

3、 Kafka与Hadoop集成剖析

4、 搭建Kafka与Hadoop集成环境

5、 Kafka与Spark Streaming集成

6、 Kafka与Spark Streaming集成剖析

7、 搭建Kafka与Spark Streaming集成环境

8、 Kafka与日志收集工具集成

9、 Kafka与日志收集工具集成剖析

10、 搭建Kafka与日志收集工具集成环境

11、 Kafka实战案例:Kafka整合实现数据实时数据分析处理



返回上一级