1 1.1.mybatis 1.1.1.mybatis架构分析 mybatis框架架构图 整体执行流程图 sqlsession执行流程图 1.1.2.mybatis源码分析 config文件加载流程 mapper文件加载流程 sqlSource创建流程 sqlSession执行流程 获取boundSql流程 参数映射流程 结果集映射流程 1.1.3.设计模式 构建者模式 简单工作模式 工厂方法模式 抽象工厂模式 单例模式 1.1.4.手写mybatis 实现配置文件加载流程 实现封装jdbc的执行流程 1.2.spring 1.2.1.核心模块 核心容器模块 core模块 beans模块 context模块 expression模块 AOP和设备模块 数据访问及集成模块 WEB模块 报文消息模块 Test测试模块 1.2.2.核心接口 BeanFactory接口体系 BeanDefinition接口体系 ApplicationContext接口体系 1.2.3.源码分析 IOC模块源码分析 IOC初始化流程 BeanDefinition加载注册流程 DI依赖注入流程 AOP流程 AOP标签解析流程 AspectJAwareAdvisorAutoProxyCreator类的作用 AspectJExpressionPointout类的作用 AspectJPointcutAdvisor类的作用 动态代理对象创建流程 AspectJAwareAdvisorAutoProxyCreator类的实现 AspectJExpressionPointout类的实现 tx流程 spring事务的实现原理 PlatformTransactionManager接口体系 TransactionStatus接口 1.2.4.设计模式 创建型 简单工厂模式 工厂方法模式 抽象工厂模式 单例模式 原型模式 结构型 代理模式 jdk动态代理模式 cglib动态代理模式 装饰模式 组合模式 行为型 1.2.5.手写框架 spring框架之IOC模块 spring框架之AOP模块 1.3.springMVC 1.3.1.框架架构分析 11步执行流程图 六大组件介绍 1.3.2.springMVC框架源码解析 实现DispatcherServlet初始化流程 实现DispatcherServlet执行流程 实现HandlerMapping执行流程 实现HandlerAdapter执行流程 1.3.3.手写springMVC框架 实现DispatcherServlet初始化流程 实现DispatcherServlet执行流程 实现HandlerMapping执行流程 实现HandlerAdapter执行流程 1.4.MySQL 1.4.1.SQL语法顺序和解析顺序的理解 1.4.2.MySQL架构分析和执行流程分析 逻辑架构图 连接器 服务管理 连接池 SQL接口 解析器 查询优化器 查询缓存 可插拔存储引擎 执行流程图 简单执行流程 详细执行流程 物理存储结构 日志文件 错误日志 二进制日志 通用查询日志 慢查询日志 量做(redo)日志 回滚(undo)日志 中继日志 数据文件 InnoDB数据文件 MyISAM数据文件 1.4.3.索引篇 索引基础 索引介绍 什么是索引 索引优势 索引劣势 索引分类 单列索引 组合索引 全文索引 空间索引 索引使用 索引创建 索引删除 索引查看 索引原理分析 索引存储结构 多用组合索引 索引使用场景 索引失效分析 1.4.4.锁和事务篇 MySQL锁的介绍 表级锁 行级锁(InnoDB) 行锁 MDL元数据锁 行锁原理分析 简单SQL的加锁分析 复杂SQL的加锁分析 死锁原理分析 事务流程分析 回滚流程(undo) 重做流程(redo) InnoDB架构分析 架构图分析 内存结构分析 磁盘文件分析 InnoDB一致性非锁定读 一致性非锁定读的机制 MVCC(多版本并发控制)原理 InnoDB的MVCC实现 InnoDB事务分析 原子性、一致性、持久性原理分析 隔离性原理分析 1.4.5.性能分析篇 性能分析思路 慢查询日志分析 何时开启慢查询日志 设置慢查询超时时间多长合适 分析慢查询日志的工具 查询计划分析 profile性能分析 1.4.6.性能优化篇 服务器层面优化 SQL设计层面优化 SQL语句优化 1.4.7.主从复制和读写分离集群 主从复制集群 读写分离集群 1.4.8.分库分表篇 分库分表策略 Mycat集群 架构介绍 核心概念介绍 十种常见分片规则 Mycat集群搭建与分库分表应用 Mycat读写分离方式设置 用户购物下单实践 1.5.redis 1.5.1.redis五种数据类型及使用场景分析 1.5.2.redis事务 redis事务分析 事务失败的处理 1.5.3.redis持久化原理及性能分析 rdb方式 快照触发时机 设置快照规则 快照实现原理 优缺点分析 aof方式 同步磁盘数据分析 aof重写原理分析 文件损坏如何恢复 如何选择rdb和aof 1.5.4.redis主从复制 原理分析 主从配置的实现原理 1.5.5.redis哨兵机制 哨兵进程的作用分析 故障判断原理分析 1.5.6.redis cluster集群 redis的集群策略 架构分析 容错机制 redis cluster集群搭建 数据迁移 1.5.7.redis和lua整合 如何编写包含redis api的lua脚本 redis整合lua脚本 1.5.8.redis消息模式 队列模式 发布订阅模式 1.5.9.分布式锁 分布式锁的实现方式 分布式锁的注意事项 分布式锁实战与高并发测试 1.5.10.常见缓存问题与解决方案 缓存穿透 缓存雪崩 缓存击穿 缓存双写一致性 1.6.mongodb 1.6.1.原理分析 router server、config server、data server工作原理 replica set(副本集)工作原理 分片策略以及shard和chunk的理解 1.6.2.主从集群 1.6.3.副本集群 1.6.4.混合方式集群 1.6.5.mongodb使用注意事项与案例 2 2.1.zookeeper 2.1.1.zookeeper简介 zookeeper重要概念 Paxos算法 ZAB协议 CAP原则 2.1.2.zookeeper源码解析 watcher核心机制 Leader选举 2.1.3.zookeeper应用场景 注册中心 分布式锁 分布式队列 负载均衡 配置维护 命名服务 DNS服务 分布式同步 集群管理 2.2.网络通信 2.2.1.RPC RPC原理与本质 RPC理论 RPC基于序列号信息通信 RPC解决什么问题 RPC解决SOA编程模式问题 RPC实例实战 RPC基于socket相连 RPC基于动态代理调用透明化 RPC模块化演讲 通过设计模式实现RPC模块单一职责 2.2.2.netty IO模型原理 NIO事件驱动流性能优化 BIO&OIO堵塞流问题 AIO异步流使用场景 线程模型 NioEventLoop线程模型 驱动模式 ServerBootStrap启动原理 Bootstrap启动原理 codec框架 tcp黏包/拆包 encode解码器 encode编码器 通道 channelHandler channelInboundHandler channelOutboundHandler 责任链模式 上下文 配置构建模式 内部类 主从模型 零拷贝 字节容器 netty实战 2.3.Dubbo 2.3.1.Dubbo入门 Dubbo分布式服务模块划分 基于Dubbo的分布式架构实战 服务治理平台安装部署 2.3.2.Dubbo高可用 Dubbo容错机制 Dubbo服务降级 Dubbo服务限流 服务暴露延迟 结构缓存应用 多版本控制 多注册中心 2.3.3.Dubbo高级应用 Dubbo负责均衡策略与自定义实现 仅订阅与仅注册 提供者的异步调用、异步执行 Dubbo源码解析 Dubbo的SPI Dubbo对spring配置文件的加载和解析 provider的服务暴露 consumer的服务消费 2.4.nginx 2.4.1.nginx介绍与安装 2.4.2.nginx核心功能 配置说明 woker_process woker_cpu_affinity event http nginx性能调优 全局模块下的调优 events模块下的调优 反向代理高性能配置 零拷贝 多路复用器 缓存配置 页面压缩配置 日志管理与自动切割 性能性配置 2.5.消息中间件 2.5.1.ActiveMQ 消息中间件在分布式架构中的应用场景 ActiveMQ高可用企业级方案 模型讲解 ActiveMQ组件 消息确认与重发策略 与spring整合实战 ack模式 ackType 持久化策略 通信协议类型 networkconnector 2.5.2.RabbitMQ 2.5.3.RocketMQ 2.5.4.分布式消息系统Kafka 2.6.SpringBoot 2.6.1.SpringBoot入门 2.6.2.Actuator监控器 2.6.3.原理部分 自动配置源码解析 yml加载过程解析 SpringBoot与Redis整合过程解析 Mybatis与SpringBoot整合过程解析 2.6.4.手写Stater 2.7.SpringCloud 2.7.1.SpringCloud入门与介绍 2.7.2.SpringCloud组件 微服务中心Eureka 注册中心入门 注册中心对比 集群搭建 使用zookeeper-discovery 注册中心设计方案 节点计算实例 声明式REST客户端OpenFeign Fegin使用 Ribbon负载均衡算法IRule 自定义负载均衡算法 RestTemplate原理与扩展 Hystrix熔断机制与服务降级 服务熔断 雪崩效应 服务雪崩 服务降级 Hystrix 微服务网关zuul 负载均衡 路由过滤 filter 高可用 分布式配置中心SpringCloud Config 消息总线SpringCloud Bus动态配置刷新 配置中心选型介绍 服务端 git仓库 本地 客户端——配置三方库 commons-configuration Spring Environment 消息系统整合框架SpringCloud Stream——stream kafka微服务 SpringCloud Sleuth+zipkin链路追踪 2.8.反应式WEB开发框架Webflux 3 3.1.FastDFS 3.1.1.架构分析 Tracker Server作用分析 Storage Server集群分析 上传流程分析 下载流程分析 同步流程分析 新增storage server流程分析 3.1.2.FastDFS整合Nginx模块原理分析 3.1.3.合并存储 分析合并存储的好处和解决的问题 合并存储空闲空间管理 trunkserver 空闲空间分配 空闲平衡树重建 trunk binlog压缩 tracker leader选举trunkserver 3.1.4.图片压缩 主从文件方式 整合Nginx生成缩略图 3.2.ElasticSearch 3.2.1.入门介绍 3.2.2.整体架构 3.2.3.工作原理 3.2.4.ELK与实战 3.3.互联网电商项目 3.3.1.项目立项与需求分析 3.3.2.根据需求考虑整体架构 静态资源处理 前后端分离 负载解决方案 网关层选型 同步架构VS异步架构 注册中心选型 MQ选型 rest VS rpc 数据传输选型 搜索引擎 SSO实现方式 分布式锁与分布式事务 nosql选型 关系型数据库选型 3.3.3.项目实现 高并发处理 搜索引擎实战 分布式锁实战 分布式事务 SSO单点登陆 文件系统实战 秒杀系统