分布式架构
GIT版本管理&Maven
1、Git学习目标
2、版本控制概念+版本控制系统演变
3、Windows安装Git
4、Git文件的三种状态和工作模式
5、创建版本库并提交文件
6、修改文件与文件提交
7、版本回退
8、文件删除
9、远程仓库
10、克隆远程项目到本地
11、将本地库推送到远程
12、本地分支操作
13、分支Push和Pull操作
14、本地分支操作冲突
15、多人协同操作冲突
16、标签管理
17、Idea集成git+克隆远程仓库到本地
18、Idea下创建项目及远程推送
Redis集群企业实战
Redis入门
1、Redis学习目标
2、Redis介绍
3、关系型数据库与非关系型数据库
4、Redis安装
5、Redis部分配置解析
Redis常用命令
1、Redis-cli操作string类型数据
2、Redis-cli操作hash数据类型
3、Redis-cli操作list数据类型
4、Redis-cli操作set数据类型
5、Redis-cli操作sorted set数据类型
6、Redis-cli操作通用命令
Jedis
1、Jedis连接Redis
2、Jedis连接池连接Redis
3、封装JedisUtil对外提供连接对象获取的方法
4、Jedis操作string数据类型
5、Jedis操作hash数据类型
6、Jedis操作set数据类型
7、Jedis操作sortedset数据类型
8、层级目录+失效时间
9、获取所有key+事务
10、Jedis操作byte数组
复制及集群
1、Redis持久化方案-bgsave
2、Redis持久化方案-rdb
3、Redis持久化方案-aof
4、Redis主从讲解
5、Redis主从复用-读写分离
6、Redis主从复用-哨兵配置
7、Redis主从复用-主备切换
8、Redis集群
SpringDataRedis
1、SpringDataRedis项目搭建
2、SpringDataRedis序列化模板
3、SpringDataRedis操作string数据类型
4、SpringDataRedis操作hash数据类型
5、SpringDataRedis操作list数据类型
6、SpringDataRedis操作set数据类型
7、SpringDataRedis操作sortedset数据类型
8、SpringData获取所有key+设置key失效时间
9、SpringDataRedis整合哨兵
经典缓存问题
1、缓存击穿
2、缓存穿透
3、缓存雪崩
模板引擎Freemarker
1、FreeMarker的概念及特性
2、FreeMarker的环境搭建
3、FreeMarker数据类型_布尔类型
4、FreeMarker数据类型_日期类型
5、FreeMarker数据类型_数值类型
6、FreeMarker数据类型_字符串类型
7、FreeMarker数据类型_空值情况处理
8、FreeMarker数据类型_sequence类型
9、FreeMarker数据类型_hash类型
10、FreeMarker常用指令-assign指令
11、FreeMarker常用指令-if指令和list指令
12、FreeMarker常用指令-macro指令和
nested指令
13、FreeMarker常用指令-import指令和
include指令
14、FreeMarker页面静态化介绍
15、FreeMarker页面静态化实现
16、FreeMarker运算符
权限管理SpringSecurity
SpringSecurity
1、SpringSecurity学习目标
2、SpringSecurity简介
3、SpringSecurity快速Demo
4、UserDetailsService详解
5、PasswordEncoder详解
6、自定义登录逻辑
7、自定义登录页面
8、失败跳转
9、设置请求账户和密码的参数名
10、自定义登录成功处理器
11、自定义登录失败处理器
12、anyRequest详解
13、antMatchers详解
14、regexMathcers详解
15、mvcMatchers详解
16、内置访问控制方法介绍
17、权限判断
18、角色判断
19、IP地址判断
20、自定义403处理方案
21、access方法使用
22、access结合自定义方法实现权限控制
23、serured注解
24、preAuthorize注解+postAuthorize注解
25、RememberMe功能
26、在thymeleaf中获取属性值
27、在thymeleaf中进行权限判断
28、退出登录
29、退出登录源码解读
30、SpringSecurity中的csrf
Oauth2
1、Oauth2协议简介
2、授权模式
3、SpringSecurityOauth2架构
4、SpringSecurityOauth2授权码模式
5、授权码模式演示
6、密码模式演示
7、Redis存储Token
8、常见认证机制
JWT
1、什么是JWT
2、JJWT快速Demo
3、解析Token
4、token过期校验
5、自定义申明
6、SpringSecurityOauth2整合JWT
7、扩展JWT中存储的内容
8、解析JWT中内容
9、RefreshToken
10、SpringSecurityOauth2整合SSO
分布式协调技术Zookeeper
1、zookeeper总体课程介绍
2、zookeeper简介
3、zookeeper内部选举机制
4、zookeeper之paxos
主流的消息中间件实战教程
RabbitMQ入门
1、学习目标
2、什么是MQ
3、为什么使用RabbitMQ
4、RabbitMQ安装
5、管理控制界面介绍
6、入门案例讲解
队列
1、入门队列
2、工作队列
3、发布-订阅队列
4、路由队列
5、主题队列
6、RPC队列
事务的同步与异步
1、RabbitMQ事务
2、同步确认
3、异步确认
4、SpringAMQP的使用
5、消息保障及幂等性处理
Kafka消息队列
1、观察者模式和生产消费者模式
2、缓冲区和数据单元以及消息传递
3、kafka简介和优点
4、kafka架构详解
5、kafka搭建和简单应用
6、kafka索引机制
7、昨日回顾(面试和kafka)
8、producer delivery guarantee
9、consumer delivery guarantee
10、生产者api
11、消费者api
12、kafka优化
13、kafka小结
反向代理与负载均衡Nginx
1、什么是代理
2、tomcat安装
3、nginx安装
4、Nginx实现反向代理负载均衡
高性能分布式文件系统FastDFS
1、FastDFS学习目标
2、FastDFS简介
3、架构介绍
4、上传下载流程
5、专用术语介绍
6、同步机制介绍
7、同类产品简单对比
8、FastDFS安装
9、Tracker配置
10、Storage配置
11、Client配置
12、Nginx安装
13、Nginx模块配置
14、常用API介绍
15、Demo环境初始化
16、FastDFS文件工具类
17、文件上传
非关系数据库MongoDB
介绍、基础使用
1、什么是非关系型数据库
2、MongoDB介绍
3、MongoDB安装
4、创建管理用户
5、用户其他操作
6、MongoDB可视化工具介绍
7、数据库操作
9、Document插入操作
10、Document更新操作
11、Document删除操作
12、Document查询操作1
13、Document查询操作2
14、Document聚合操作
15、Index操作
16、Java连接MongoDB
17、Java操作集合
18、Java操作文档
19、Java查询文档
8、collection操作
SpringDataMongoDB
1、SpringDataMongoDB初始化
2、SpringDataMongoDB操作Document
3、SpringDataMongoDB删除Document
4、SpringDataMongoDB查询Document
5、复杂查询
分布式数据库开发Mycat
1、MyCat学习目标
2、MyCat简介
3、MyCat中的概念
4、读写分离介绍
5、MySQL主从模式搭建
6、安装MyCat
7、schema配置
8、server配置
9、rule配置
10、配置读写分离
11、测试读写分离
12、分片规则
13、配置分库
Dubbo通向高手之路
互联网架构演变趋势
1、Dubbo学习目标
2、单一应用架构
3、RPC架构+SOA架构
4、RPC架构+SOA架构
5、微服务架构
Dubbo使用
1、RPC基于RMI简单实现的框架搭建
2、RPC基于RMI简单实现的演示
3、Dubbo介绍
4、Dubbo注册中心
5、SpringBoot整合Dubbo框架搭建
6、SpringBoot整合Dubbo实现
注册中心和管控
1、Zookeeper单机版安装
2、Zookeeper集群版安装
3、Dubbo-admin管理中心
ElasticSearch百亿级别分布式文件
检索
入门
1、学习目标
2、ElasticSearch简介
3、倒排索引
4、ELasticSearch安装
5、ElasticSearch远程访问
6、ELasticSearch集群安装
7、head插件安装
8、ElasticSearch原生语法
9、Kibana安装
10、ik分词器安装
11、安装MySQL
12、Logstasg安装
Java API
1、Java连接ES客户端
2、Java操作ES
3、查询所有数据
4、高级搜索功能
5、SpringDataES常规操作
6、Template操作
7、高级查询
Docker企业级应用
Docker入门
1、Docker学习目标
2、什么是Docker
3、容器与虚拟机比较
4、Docker组件
5、Docker安装
Docker常用命令
第二章:Docker常用命令
本章节介绍Docker常用命令,主要内容包括镜
像相关命令、容器相关命令、如何利用docker快
速部署MySQL、如何利用docker快速部署
Nginx、如何利用docker快速部署RabbitMQ、
如何利用docker快速部署ES、如何利用docker
快速部署Zk、docker的快速迁移与备份。
共 10 节
1、Docker启动与停止
2、镜像相关命令
3、创建启动与查看容器
4、容器相关命令
5、MySql部署
6、Nginx部署
7、RabbitMQ部署
8、Elasticsearch部署
9、Zookeeper部署
10、迁移与备份
Dockerfile
1、Dockerfile常用命令
2、Dockerfile构建jdk1.8镜像
3、Docker私有仓库镜像上传
4、DockerMaven插件自动部署
微服务SpringCloud
生态和简介
1、微服务架构介绍学习目标
2、技术架构演变
3、什么是微服务
4、SOA与MicroServices的区别
5、Dubbo和SpringCloud的区别
6、微服务设计-AKF拆分原则
7、微服务设计-前后端分离原则
8、微服务设计-无状态服务
9、微服务设计-Restftl通信风格
10、SpringCloud是什么学习目标
11、SpringCloud的子项目
12、SpringCloud第一代Netflix
13、SpringCloud第二代Alibaba
14、SpringCloud常用组件
15、为什么SpringCloud版本用的是单词而不是
数字
16、SpringCloud版本定义和发布详细讲解
Eureka与Ribbon
1、Eureka注册中心学习目标
2、什么是注册中心
3、常见的注册中心
4、为什么需要注册中心
5、什么是Eureka注册中心
6、Eureka注册中心三种角色
7、Eureka入门案例
8、高可用Eureka注册中心搭建
9、使用IP+端口的方式注册服务
10、服务提供者service-provider搭建
11、服务消费者service-consumer搭建方式(
1)
12、服务消费者service-consumer搭建方式(
2)
13、服务消费者service-consumer搭建方式(
3)
14、Eureka架构原理
15、CAP原则和取舍策略
16、Eureka自我保护
17、Eureka优雅停服
18、Eureka安全认证
19、Ribbon学习目标
20、什么是Ribbon
21、负载均衡不同方案的区别
22、Ribbon负载均衡策略
23、Ribbon入门案例
24、Ribbon负载均衡策略设置
25、Ribbon点对点直连
Consul注册中心
1、Consul服务注册中心学习目标
2、Consul介绍及特性
3、Consul角色
4、Consul工作原理
5、Consul安装
6、Consul入门案例
7、Consul集群概念讲解
8、Consul集群环境搭建
9、Consul集群环境测试
Feigin
1、Feign学习目标
2、什么是Feign
3、Feign与OpenFeign的区别
4、Feign项目环境准备
5、Feign入门案例
6、Feign负载均衡配置
7、Feign基于Get请求传参
8、Feign基于Post请求传参
9、Feign性能调优之Gzip压缩概念讲解
10、Feign性能调优之Gzip压缩功能实现
11、Feign性能调优之HTTP连接池
12、Feign性能调优之状态查看
13、Feign性能调优之请求超时
Hystrix服务容错
1、Hystrix服务容错学习目标
2、什么是Hystrix
3、什么是雪崩效应
4、雪崩效应的解决方案
5、Hystrix项目环境准备
6、使用JMeter模拟高并发环境
7、请求缓存案例实现
8、请求合并案例实现
9、线程池隔离与信号量隔离概念讲解
10、线程池隔离案例实现
11、信号量隔离案例实现
12、线程池隔离和信号量隔离的相同不同点
13、服务熔断案例实现
14、服务降级案例实现
15、基于Feign实现服务熔断降级处理
16、Feign服务异常信息捕获
17、Hystrix服务监控学习目标
18、基于Actuator实现服务监控
19、Hystrix监控中心环境搭建
20、Hystrix聚合监控环境搭建
Sentinel服务哨兵
1、Sentinel服务哨兵学习目标
2、Sentinel是什么
3、Sentinel与Hystrix的区别
4、Sentinel核心
5、Sentinel控制台环境搭建
6、Sentinel项目环境准备
7、Sentinel客户端接入控制台
8、Sentinel定义资源
9、Sentinel流量控制规则
10、Sentinel熔断降级规则
11、Sentinel动态配置规则
12、Sentinel对于RestTemplate 支持
13、Sentinel对于OpenFeign支持
Zuul服务网关
1、Zuul服务网关学习目标
2、什么是Zuul
3、什么是服务网关
4、为什么要使用网关
5、网关解决了什么问题
6、常用网关解决方案
7、Zuul项目环境准备
8、Nginx实现API网关
9、Zuul实现API网关入门案例
10、服务名称路由规则
11、如何简化路由规则
12、路由排除
13、路由前缀
14、网关过滤器核心知识讲解
15、网关过滤器入门案例
16、网关过滤器实现统一鉴权
17、Zuul请求生命周期
18、网关过滤器异常统一处理
19、Zuul整合Hystrix实现网关监控
20、Zuul整合Hystrix实现网关熔断
21、为什么需要限流
22、限流算法之计数器算法
23、限流算法之漏桶算法
24、限流算法之令牌桶算法
25、Zuul局部限流功能实现
26、自定义限流策略
27、网关限流错误处理
28、网关调优
29、Zuul整合Sentinel实现网关限流
30、Zuul整合Sentinel实现自定义限流处理
31、高可用网关环境搭建
Gateway服务网关
1、Gateway服务网关学习目标
2、什么是SpringCloudGateway
3、什么是服务网关
4、为什么要使用网关
5、常用网关解决方案
6、Gateway项目环境准备
7、Nginx实现API网关
8、Gateway核心概念
9、Gateway工作原理
10、Gateway实现API网关入门案例
11、路由规则之Path
12、路由规则之Query
13、路由规则之Method
14、路由规则之Datetime
15、路由规则之RemoteAddr
16、路由规则之Header
17、动态路由之动态获取URI
18、动态路由之服务名称转发
19、Path路径过滤器之
RewritePathGatewayFilterFactory
20、Path路径过滤器之
PrefixPathGatewayFilterFactory
21、Path路径过滤器之
StripPrefixGatewayFilterFactory
22、Path路径过滤器之
SetPathGatewayFilterFactory
23、Parameter参数过滤器
24、Status状态过滤器
25、自定义网关过滤器
26、自定义全局过滤器
27、通过全局过滤器实现统一鉴权
28、为什么需要限流
29、限流算法之计数器算法
30、限流算法之漏桶算法
31、限流算法之令牌桶算法
32、基于令牌桶算法的URI限流
33、基于令牌桶算法的参数限流
34、基于令牌桶算法的IP限流
35、SpringCloudGateway整合Sentinel实现
限流
36、Sentinel限流自定义异常提示
37、Sentinel分组限流
38、高可用网关环境搭建
Sleuth链路追踪
1、Sleuth链路追踪学习目标
2、什么是链路追踪
3、什么是Sleuth
4、专业术语Span讲解
5、专业术语Trace讲解
6、专业术语Annotation讲解
7、Sleuth实现原理
8、Sleuth项目环境准备
9、Sleuth入门案例
10、什么是Zipkin
11、Zipkin工作原理
12、Zipkin服务端部署
13、Zipkin客户端部署
14、Zipkin存储追踪数据至MySQL
15、Zipkin基于MQ存储链路信息至MySQL
16、Zipkin基于MQ存储链路信息至
Elasticsearch
17、ELK环境准备
18、使用ELK分析追踪数据
Stream消息驱动
1、Stream消息驱动学习目标
2、消息中间件特性一应用解耦
3、消息中间件特性二异步处理
4、消息中间件特性三流量削锋
5、消息中间件特性四日志处理
6、SpringCloudStream核心概念
7、SpringCloudStream工作原理
8、Stream项目环境准备
9、入门案例-消息生产者
10、入门案例-消息消费者
11、测试入门案例环境是否可用
12、自定义消息通道
13、配置文件优化
14、短信邮件发送案例
15、消息分组
16、消息分区
17、为什么使用SpringCloudConfig
Config配置中心
1、Config配置中心学习目标
2、常规配置管理解决方案缺点
3、SpringCloudConfig解决了什么问题
4、Config项目环境准备
5、入门案例服务端
6、入门案例客户端
7、高可用环境配置文件准备
8、高可用环境Config Server准备
9、高可用环境Config Client准备
10、高可用环境测试
11、配置中心工作原理
12、配置中心自动刷新
13、请持续关注SpringCloudBus自动刷新
14、对称加密环境检查
15、对称加解密案例实现
16、对称加密和非对称加密的区别
17、使用Java-keytool生成证书
18、非对称加解密案例实现
19、配置中心用户安全认证
Bus消息总线
1、Bus消息总线学习目标
2、什么是消息总线
3、什么是SpringCloudBus
4、什么时候使用SpringCloudBus
5、Bus项目环境准备
6、客户端发起通知案例实现
7、服务端发起通知案例实现
8、局部刷新实现刷新指定服务
9、局部刷新实现刷新指定集群
Consul配置中心
1、Consul配置中心学习目标
2、Consul介绍
3、Consul安装
4、初始化配置
5、Consul配置中心实践案例
6、Consul实现配置管理总结
Apollo配置中心
1、Apollo配置中心学习目标
2、Apollo介绍
3、Apollo核心概念及特性
4、Apollo总体设计
5、Apollo所需环境准备
6、安装Apollo
7、搭建Apollo服务端
8、客户端接入服务端
操作系统Linux
计算机体系结构
1、计算机硬件之冯诺依曼体系
2、冯诺依曼体系硬件组成五大模块
3、机械硬盘与固态硬盘的工作原理
4、机械硬盘数据读取方式
5、顺序读写与随机读写
6、网络组成之网址-子网掩码-默认网关
7、网络组成之域名解析服务
8、网络的桥接和网络地址转换
9、软件的分类
Linux环境搭建
1、Linux系统的分支
2、Linux官网与系统版本选择
3、虚拟化技术
4、VM安装流程
5、创建新的虚拟机
6、为新的虚拟机安装操作系统