文章目录[+]
前置阶段:常用开发框架解读专题(选学)
目标
明确源码阅读的意义以及掌握从源码中找寻解决问题的方法。
掌握面向对象常用的七大设计原则和常见设计模式。
掌握 Spring 框架中 IOC/DI/AOP 等核心流程的执行原理。
面试和工作中遇到的痛点
会写基本的业务代码,但是对于业务核心通用组件代码一知半解。
使用 Spring 全家桶面对业务开发时遇到的难题无从下手。
不懂 Spring 框架的底层原理,网上答案标准不一,面试时答非所问。
通过学习掌握的核心能力
掌握阅读 Spring 框架底层源码的能力。
具备手写 Spring 框架底层源码的能力。
从面向过程进化到面向对象的分析设计能力。
具备面向对象编程的能力,可以从 0 到 1 仿写一个框架。
详细内容:
01 Spring 源码
Spring 源码阅读前沿
Spring 创建对象代码演变及 IoC 容器初始化
手写一个 Spring 框架案例
Spring 面向对象 OOAD 和七大设计原则
Spring-IoC 模块的面向对象设计
Spring 面向对象方式手写 IoC 流程
Spring-IoC 源码阅读
Spring-AOP 核心概念以及动态代理原理
Spring-AOP 三大核心流程图解
Spring-AOP 源码阅读
Spring 中的设计模式:责任链模式与反射调用
02 Spring MVC 源码
手写一个 Spring MVC Web 应用框架
Spring MVC 应用框架架构解析
手写一个 Spring 框架案例
图解 Spring MVC 执行流程
Spring MVC 源码阅读
解析 RequestMappingAdapter 流程
03 Spring Boot 应用
Spring Boot 与 Spring 的区别与联系
Spring Boot 启动流程源码解析
yml 配置文件加载流程解析
图解 Spring Boot 自动配置流程
Spring Boot&Redis&MyBatis 整合源码解析
使用自定义 starter 完成案例
04 MyBatis 源码
采用面向的对象方式手写一个 MyBatis 框架
解析 MyBatis 版本配置文件及对应存储类分析
MyBatis-SqlSession 执行流程解析
MyBatis-Mapper 代理底层原理解析
05 Tomcat 源码
Tomcat 底层原理解析
搭建 Tomcat 源码环境
手写 Tomcat 源码
阅读解析 Tomcat 启动流程
Tomcat 加载、创建 Servlet 流程源码解读
解析 Tomcat 请求处理流程
06 Nginx 应用
Nginx 使用原理解析
Web Server 技术选型
详解 Nginx 配置文件
Nginx 请求定位之 server 定位
Nginx 请求定位之 location 定位
Nginx 应用之 rewrite 重定向
Nginx 应用实战之静态资源服务器
Nginx 应用实战之反向代理应用
Nginx 应用实战之负载均衡
Nginx 应用实战之动静分离
Nginx 应用实战之虚拟主机应用
Nginx 应用实战之缓存配置
Nginx 应用实战之日志管理
第一阶段:消息队列专题
目标
熟悉 RocketMQ 的基本用法和应用场景
掌握 RocketMQ 的消息重试、延迟、幂等、事务和优先级
基于案例讲解消息中间件的核心工作原理
结合真实案例、场景讲述主流中间件的企业级应用技巧
工作中的痛点
没有机会接触高并发高性能场景
没有真正在实际工作中使用过消息中间件
对消息中间件的原理无法形成体系化的理解,学习停留在理论层面,缺乏实战指引
实践练习
消息过滤实战
消息消费积压问题排查实战
订阅关系不一致实战
批量消费实战
详细内容
01 消息中间件介绍
消息中间件使用场景
消息中间件需要解决的问题
消息中间件选型
领域模型介绍
RocketMQ 环境搭建、Debug 调试
02 RocketMQ 实战
消息发送 API 详解与版本变迁说明
消息发送核心参数与工作原理
消息发送常见错误与解决方案
事务消息以及定时消息发送实战
消息消费 API 详解与版本变迁说明
DefaultMQPushConsumer 核心参数与工作原理
DefaultMQPushConsumer 使用示例与注意事项
结合应用场景学习 DefaultMQPushConsumer
消息过滤实战
消息消费积压问题排查实战
订阅关系不一致实战
批量消费实战
03 RocketMQ 原理应用
Broker 启动流程分析
NameServer 路由注册机制
生产者的发送消息流程
消费者的接收消息流程
消息的可靠性应该如何保证
不同消息的有序性如何解决
Broker 接收消息的处理流程
04 RocketMQ 高级特性
消息在 Broker 端的文件布局
消息存储的高效与刷盘策略
Broker 快速读取消息机制
文件恢复与 CheckPoint 机制
消息大量堆积了该怎么办
部署架构与高可用机制
NameServer 的设计理念
05 Kafka 实战
Kafka 基础架构运行流程
生产者选择分区发送数据流程
生产者发送数据的可靠性保证
服务端的消息处理架构模型
服务端消息存储的文件布局
如何保证服务端数据的一致性
消费方如何消费数据/消费分区
Kafka 该如何实现顺序消费
消费者组重平衡流程解析
Kafka 有哪些高性能的设计
Kafka 与 RocketMQ 的主流功能对比
第二阶段:微服务前沿技术栈专题
目标:
学习 Spring Cloud、Spring Cloud Alibaba 工程搭建的最佳实践。
掌握 SCA 体系常用组件的使用与案例实战。
掌握 SCA 体系常用功能的本质原理与源码分析思路。
深入理解框架底层架构的代码设计哲学。
工作痛点:
不清楚搭建一个微服务工程的具体流程。
面对陌生框架时不了解相关的工程最佳实践。
只了解微服务组件名称,不清楚微服务框架的源码实现。
深入学习框架的底层原理时,面对底层复杂的源代码无从下手。
无法精确定位架构师的方案和思路,实现起来却举步维艰。
实践练习:
Spring Cloud 服务注册与发现的伪集群搭建。
Spring Cloud Alibaba 使用 Nacos、OpenFeign、Gateway、Sentinel、Dubbo 等组件进行工程搭建。
详细内容:
01 体系介绍
Nacos Registry
Nacos Config
OpenFeign
Gateway
Dubbo
Sentinel
Seata
02 Spring Cloud 最佳实践
Provider + Consumer + Eureka 服务搭建
Provider + Consumer + Nacos 服务搭建
Consumer + Provider + Nginx 集群搭建
03 Nacos 注册与发现
Nacos 服务注册案例搭建
Nacos 服务订阅案例搭建
Nacos Client 发起注册流程
Nacos Server 处理注册流程
Nacos Client 发起订阅流程
Nacos 心跳与剔除机制
04 Nacos 配置中心
Nacos Config 动态更新端口案例搭建
Nacos Config 动态更新配置案例搭建
Nacos 配置中心源码分析
Nacos 动态更新机制
Nacos UDP 通知更新机制
Nacos 集群同步源码分析之 CP + AP 模式
Nacos 集群同步 Distro 一致性协议
Nacos 集群同步 Raft 一致性协议
05 OpenFeign 负载均衡
Ribbon 工程案例搭建
OpenFeign 负载均衡与降级案例搭建
OpenFeign 源码分析之 @FeignClient 注解扫描机制
OpenFeign 源码分析之 Feign 的上下文隔离机制
06 Gateway 网关路由
Gateway 路由案例搭建
自定义拦截过滤
转发重定向机制
07 Sentinel 限流降级
Sentinel 手动设置限流/降级案例搭建
Sentinel 接入 Nacos 案例搭建
探索 Sentinel 规则持久化机制
联动 Sentinel 与 Nacos 的持久化实现
核心 SphU.entry 源码分析
ProcessorSlotChain 过滤器链流程
StatisticSlot 核心处理逻辑分水岭
08 Dubbo 服务调用框架
Dubbo 工程案例环境搭建
Provider & Consumer 案例搭建
依赖检查 & 负载均衡案例搭建
广播调用 & 缓存操作案例搭建
点对点调用案例搭建
泛化调用案例搭建
Dubbo 源码分析
JDK SPI 与 Dubbo SPI 机制
Dubbo 服务发布流程
Dubbo 服务订阅流程
Dubbo Wrapper 机制
Dubbo 协议编解码
第三阶段:持续集成与容器化专题
目标
掌握 CI/CD、DevOps、Docker 和 Kubernetes 的理念和实践。
学会使用 Jenkins 进行持续集成与持续部署。
熟练使用 Docker 和 Kubernetes 进行容器化部署和管理,提高软件交付的效率和质量。
工作中的痛点
缺乏系统的 CI/CD 知识和实践经验,导致部署过程繁琐、低效,难以满足敏捷开发需求。
对容器化技术和编排工具的应用不熟练,无法充分利用其优势实现快速部署、高可用性和资源优化。
缺乏实际操作经验,导致在应对复杂场景时应变能力不足,无法有效解决问题。
团队之间协作不畅,难以形成跨部门的 DevOps 文化,拉低了整体效率。
实战案例
整合 Jenkins、Docker、Maven 等技术,实现自动化构建、测试、部署和监控。
通过 Docker Compose 和 Docker Swarm 实现多容器应用的部署与管理。
使用 Kubernetes 实现对容器应用的编排和管理。
Jenkins 与 Ansible 集成实战:使用 Jenkins 与 Ansible 实现自动化服务更新。
详细内容:
01 CI/CD、DevOps
软件生命周期概念
CI/CD 概念
DevOps 概念
搭建实验环境
初识 Jenkins
Jekins 集成 Maven 构建 Java 应用程序
Jekins 集成 Git 搭建 GitLab 服务器
Jenkins 集成 GitLab 管理 Java 应用程序
Jenkins Security 用户角色管理
Jenkins 自动化任务
Jenkins 流水线 Pipeline
Jenkins 实战之集成 Ansible
Jenkins 实战之搭建 CI/CD 流水线
02 Docker
Jenkins 基础&安装流程
虚拟化技术 vs 容器化原理
Docker client 命令详解
Docker 交互指令
Docker 镜像概念
Docker 实战部署 Web 服务
Docker-compose 部署多容器应用
Docker 进阶:container 概念详解
Docker 进阶:network 概念详解
Docker 进阶:image 概念详解
Docker 进阶:volume 概念详解
Docker Swarm:微服务项目容器化部署
Docker compose vs Docker Swarm
Docker 私服搭建
03 Kubernetes
K8s 集群搭建
Harbor 仓库搭建
K8s 基本指令入门
K8s 核心组件原理
K8s 网络原理
K8s 负载均衡
POD 调度详解、重启策略
容器探针
POD 核心原理剖析
Ingress 七层负载君合实战方案
ReplicaSet 剖析
configmap 资源对象剖析
K8s 存储解析
PVC 和 PV 深度剖析
headless Service 原理解析
statefulSet 原理解析
有状态服务部署
第四阶段:互联网项目实战
目标:
掌握互联网企业级项目开发全流程
掌握需求分析和技术选型的核心原则
掌握微服务架构的设计、拆分原则
能够解决电商业务常见问题:三高问题、安全交易问题等
实现单点登录、用户中心、商品中心、订单中心、广告中心、文件服务、商品秒杀等常见功能
掌握电商业务场景下常用的技术组件,如 Redis、Elasticsearch 及其他常用微服务技术组件
掌握高性能秒杀业务场景的实现方法
学习和工作中的痛点
缺少大型项目的实战落地经验
无法将 Java 进阶技术栈应用到项目实战中
详细内容:
01-需求分析
电商业务分析
电商模式分类
电商系统特性
电商模型分析
系统需求模型
功能需求分析
平台需求:单点登录、用户中心、商品中心、订单中心、广告中心、文件服务、商品秒杀
卖家需求:商品管理、订单管理
买家需求:商品浏览和搜索、购物车管理、商品下单、订单支付
非功能需求分析
稳定性:系统可用性分析、系统可靠性分析
高吞吐:并发性分析、性能损耗分析
扩展性:集群扩展性分析、功能扩展性分析
02-架构设计
架构选型分析:单体架构、分布式架构、微服务架构
系统架构设计:前端页面、反向代理、API 网关、业务服务、数据访问、数据存储
架构治理:远程调用、服务发现、消息队列、请求限流、服务熔断、服务降级
03-技术选型
编程语言:Java
基础框架:Spring Boot
安全框架:Spring Security
反向代理:Nginx
网关:Spring Cloud Gateway
RPC调用:Dubbo
注册中心:ZooKeeper
配置中心:Spring Cloud Config
数据访问:MyBatis
消息中间件:RocketMQ
熔断限流:Sentinel
搜索引擎:Elasticsearch
文件存储:FastDFS
数据库:MySQL
缓存:Redis
前端框架:Vue
04-代码落地
服务拆分:鉴权服务、用户服务、商品服务、订单服务、支付服务、广告服务、搜索服务、文件服务
前端工程:门户、页面布局
反向代理:限流、跨域
后端工程:登录模块、用户模块、商品模块、订单模块、支付模块、广告模块、秒杀模块、搜索模块、文件模块
05-关键问题
系统三高问题
安全交易问题
中台建设问题
项目案例
案例一:RocketMQ 使用场景
消息过滤实战
消息消费积压问题排查实战
订阅关系不一致实战
批量消费实战
案例二:Spring Cloud 服务注册与发现的伪集群搭建
Provider + Consumer + Eureka 服务搭建
Provider + Consumer + Nacos 服务搭建
Consumer + Provider + Nginx 集群搭建
案例三:从 0 到 1 搭建一套完整的微服务项目
Spring Cloud 服务注册与发现的伪集群搭建
搭建服务治理与配置 Nacos
搭建服务网关 Gateway
使用 OpenFeign 远程调用
基于 Sentinel 完成熔断、限流、降级
Dubbo 工程案例环境搭建
发表评论