首页 体系课 Java架构师-技术专家
Java架构师-技术专家
国内外一线大厂技术大咖与慕课网组成专家团队12个月磨一剑
千万级电商项目从0到1到100全过程
涵盖Java程序员不同成长阶段的问题及优选解决方案
40 课程内容
24 个月 教学服务期限
220 小时 视频时长
2672 学习人数
100% 好评度
40 课程内容
24 个月 教学服务期限
70000 手敲代码
2 企业及项目
16+ 实操案例
2672 学习人数

特惠价 ¥3299.00

7天未学可退 ¥6600

加购物车 立即购买

优秀工程师的成长之路就是一条不断打怪升级之路

Java入行容易精通难,需要能力也需要运气

立志一路打怪不断升级的你,是否面临以下的困惑?

  • 1

    具备有1年以上Java开发经验
    需要快速提升竞争力

  • 2

    缺乏Java整体认知
    想要建立完善的知识体系

  • 3

    梦想进入BATJ等名企
    渴望掌握大厂核心技术

  • 4

    跳槽屡屡碰壁,急需短时间
    精进,跳槽拿高薪

  • 5

    有意深耕Java技术
    立志成为Java架构师

那么,这将是你难得的机会。

亲历千万级项目从0到100的成长全过程

在项目迭代中解决各个项目阶段的问题,还原开发经历 实现能力全面升级

这是一个围绕真实电商项目成长的课程,手把手带你编写代码,从解决初期单体问题开始,
随着项目不断演变,到最终解决“高可用、高并发、高性能”的技术需求,带你成长为优秀的架构师
由6位资深架构师协力完成5万+行高质量代码,仅代码商业价值超学费数倍。

项目架构逐级演变 一个项目串联架构师成长全过程

在项目的迭代中需要面对各种业务需求 我们通过逐渐升级的架构带你解决不同阶段的项目难题

  • 1

    单体架构

  • 2

    集群架构

  • 3

    分布式架构

  • 4

    微服务架构

  • 5

    SpringCloud微服务

  • 6

    容器化与容器编排

单体架构:

初创小公司,前期可能只有2-3个开发人员。为了节省成本,并希望项目快速开发,快速发布上线,快速验证市场,这个时候就可以考虑采用单体架构进行开发。

所谓单体架构,就是系统服务及数据库等都放在同一台服务器上。

单体架构的优点是:
小团队成型即可完成开发-测试-上线,而且迭代周期短,速度快,打包方便,运维省事。
是初创小公司业务发展初期最理想的架构形式。

查看课程相关手记>>

集群架构:

当业务不断发展壮大,用户访问量不断增加,单体架构往往会因为负载越来越高,从而面临越来越多的挑战。比如:系统的承载量可能会越发乏力,逐渐成为性能瓶颈;单节点宕机可能造成所有服务不可用等等,面对突如其来的一系列问题,我们该如何切入?

我们可以通过Nginx负载均衡, 双机主备与主从热备,降低服务器负载压力;
通过Redis缓存集群为数据库减压等解决方案,逐步演变系统成一个高可用的集群架构。

查看课程相关手记>>

分布式架构:

随着业务发展壮大,用户量暴涨,单节点处理能力就会成为瓶颈,如果并发量居高不下,服务器很容易因负载过高而导致崩溃宕机。出于高并发,高可用的考虑,项目就应该演变到分布式架构了。
然而分布式环境下我们又会面临更多的挑战需要去应对。比如:

  1. 如何保障不论用户请求落在哪个服务节点,文件都能被获取到?
  2. 如何对上下游弱依赖关系的服务节点做解耦?
  3. 如果日志分布在不同的服务上,如何为后续的业务提供数据支撑?
  4. 如果一个资源在同一个时间节点上,产生了竞争该怎么办?
  5. 如果用户量暴增,导致每次查询时间慢了许多该怎么办?
  6. 如果下单、付款分布在不同的服务上,如何保证跨服务事务?
查看课程相关手记>>

微服务架构:

随着发展,系统越来越复杂,如果分布式架构无法满足业务要求,可以尝试微服务架构。不过它也有自己的利弊,需要更深入的掌握微服务技术才好更灵活的权衡利弊。
如下问题都是微服务下需要思考和解决的问题:

  1. 如何做好服务登记工作?
  2. 接口异常超时怎么破?如何确保核心主链路的高可用性?
  3. 如何对配置项进行中心化的管理?如何在运行期刷新配置项?
  4. 如何设置网络请求转发规则?
  5. 如何根据蛛丝马迹进行线上异常排查?
  6. 如何无缝对接消息中间件?
查看课程相关手记>>

SpringCloud微服务:

SpringCloud通过Eureka实现服务治理;
通过Ribbon实现负载均衡;
通过Fegin实现服务通信;
通过Hystrix实现服务容错;
通过Config实现分布式配置中心;
通过Bus实现消息总线;
通过Gateway实现服务网关;
通过Sleuth实现链路追踪;
通过Stream实现消息驱动服务;

总之SpringCloud是微服务集大成者,也是微服务落地的整体解决方案,值得你拥有。

查看课程相关手记>>

容器化与容器编排:

微服务改造后,服务数量激增,会遇到新的挑战,比如:
1.如何快速部署?
2.每秒数万交易的促销、秒杀、抢购系统如何做弹性扩缩容?
这时候容器技术就可以更加灵活的帮我们应对服务部署,服务编排,扩缩容等问题。
它不仅解决了微服务下的这些重难点问题,还大大提升开发效率,加速迭代。
尤其是容器化弹性扩缩容技术,让你免除系统宕机的压力,轻松实现高并发业务。

查看课程相关手记>>
架构动态演进过程
电商项目体验请点击:http://shop.t.mukewang.com/

行业资深团队耗时12个月,打造慕课网迄今为止最强Java体系课程

高品质视频课程,纯干货不吹水,每一节视频都经过5道严苛制作工序方能上线

他人5~8年才能积累的经验你只需10个月就能获得

体系化构建架构师能力,快速成长加速晋升

  • 硬核技术

    具备P7级别核心技术能力
    通杀大小项目难题

    技术过硬,才有选择!

  • 迁移能力

    技术可迁移能力
    熟悉多种架构方案的优势

    因地制宜,百战不殆!

  • 经验倍增

    大厂大牛大项目,10个月
    获取6位讲师多年浓缩的精华

    事半功倍,弯道超车!

  • 拓宽视野

    突破环境的限制,随着
    项目成长不断迭代成长

    上帝视角,鸟瞰全局!

  • 思维突破

    掌握架构师思维,摆脱
    普通程序员的思维定势

    打破瓶颈,质的飞跃!

必知必会的知识体系课程 打造货真价实的架构师能力

知识覆盖UP 知识深度UP 技术水平UP

  • 单体架构
  • 集群架构
  • 分布式缓存
  • 分布式会话
    与单点登录
  • 分布式搜索引擎
  • 技术框架

    SpringBoot2.1.x&MyBatis

  • Nginx核心原理解析

    反向代理/负载均衡/动静分离

  • 分布式缓存技术选型

    Redis VS Memcache

  • 动静分离架构下
    用户会话解决方案
  • 分布式搜索引擎技术选型

    Lucene VS Solr VS ES

  • Maven分层
    解耦设计
  • Nginx负载均衡

    策略解析/故障转移

  • Redis架构与原理解析
  • 集群与分布式系统中
    用户会话解决方案
  • ES架构与原理解析
  • Restful Web Service
    设计
  • 一致性哈希算法解析
  • Redis核心原理解析-1

    持久化机制/主从架构模式

  • Redis+Cookie实现
    前后端分离与分布式会话
  • 集成ES集群原理与实战
  • 商品模块

    无限递归/分类懒加载

  • Nginx单实例存在的问题
    与集群原理解析
  • Redis核心原理解析-2

    主从复制/无磁盘化复制

  • 用户权限拦截器
  • 集成ES集群故障

    节点宕机 / 脑裂问题

  • 订单模块

    订单超时

  • LVS+Keepalived+
    Nginx实现高可用集群
  • Redis核心原理解析-3

    哨兵机制/集群/雪崩

  • 单点登录 SSO
  • MySQL和ES进行
    数据同步方案分析
  • 支付模块

    支付宝/微信支付

  • Nginx实现心跳机制
    与自动重启
  • 主从复制高可用
    Redis集群搭建
  • 多系统跨域
    的用户会话问题
  • 基于Logstash
    进行数据同步
  • 个人信息管理

    文件上传/资源虚拟化

  • Nginx实现
    Tomcat集群
  • 缓存雪崩的
    解决方案实现
  • 常见的会话跨域形式
    (Session 共享)
  • 基于ES实现
    商品搜索与分类搜索
  • 云服务器
    部署上线
  • 动静分离网站架构与
    传统网站架构对比解析
  • 缓存穿透
    的解决方案实现
  • Cookie实现
    Session跨域与原理
  • ES深度分页下带来的
    性能问题分析与解决
  • Redis批量查询
    优化设计
  • spring-session实现原理
  • 大数据量下该如何使用
    scoll滚动技术进行搜索
  • 分布式文件系统
  • 分布式消息队列MQ
  • 分布式锁设计
  • 读写分离、分库分表
  • 分布式全局ID设计
  • FastDFS架构与原理解析
  • 消息中间件技术选型

    RabbitMQ/RocketMQ/Kafka

  • 基于Synchronized锁
    解决超卖问题
  • 技术选型

    MyCAT VS Sharding-JDBC

  • 分库分表引发
    的ID重复问题
  • FastDFS
    上传下载流程解析
  • RabbitMQ消息
    可靠性投递实战
  • 基于ReentrantLock锁
    解决超卖问题
  • MyCAT急速入门

    分库分表、读写分离

  • 调整实现表ID起始值与步
    长,保证主键全局唯一性
  • Nginx+FastDFS
    实现文件服务器
  • RabbitMQ基础组件封装
  • 基于数据库悲观锁
    实现分布式锁
  • MyCAT高可用架构方案-
    避免MyCAT成为系统单点
  • 通过统一ID序列表
    实现主键全局唯一性保证
  • 第三方图片
    存储解决方案
  • Kafka海量日志收集
    架构设计
  • 基于Redis的setnx
    实现分布式锁
  • MyCAT高可用架构方案-
    反向代理HAProxy
  • 使用UUID作为ID
    实现主键全局唯一性保证
  • 阿里OSS存储
    与实现原理
  • Kafka收集设计,日志过
    滤,日志输出
  • 基于ZooKeeper的
    瞬时节点实现分布式锁
  • MyCAT高可用架构方案-
    故障转移Keepalived
  • 使用雪花算法作为ID
    实现主键全局唯一性保证
  • 实现图片上传到OSS中
  • Kafka & Elasticsearch &
    Kibana存储可视化
  • 基于ZK的Curator
    客户端实现分布式锁
  • Sharding-JDBC分片表
    全局表、子表
  • 在生产环境中切换
    文件存储为FastDFS
  • Kafka高吞吐量核心实战
    监控警告
  • 基于Redisson
    实现分布式锁
  • 整合Sharding-JDBC
    满足不同项目需求
  • 分布式接口幂等性
  • 分布式限流设计
  • 微服务架构设计-1
  • 微服务架构设计-2
  • 服务容器化-Docker
  • 使用唯一索引解决delete
    操作的幂等性问题
  • 分布式限流技术选型
  • 服务治理Eureka

    注册/发现/续约/下线/自保

  • 消息总线BUS

    接入RabbitMQ&Kafka

  • Docker镜像制作和管理
  • 使用乐观锁解决update
    的幂等性操作问题
  • 限流常用算法讲解
  • 负载均衡Ribbon

    懒加载/饥饿/自定义轮询

  • 服务网关Gateway

    路由/断言/断路器/限流

  • Dockerfile实现快速部署
  • 通过token机制解决
    insert的幂等操作问题
  • 基于Redis
    实现分布式限流
  • 服务通信Fegin

    动态代理/超时重试策略

  • 链路追踪Sleuth

    链路追踪/集成Zipkin+ELK

  • Docker数据持久化管理
  • 由订单重复提交的幂等推
    广到所有接口的幂等操作
  • 基于网关层
    的分布式限流
  • 服务容错Hystrix

    降级熔断/Turbine监控

  • 消息驱动服务Stream

    延迟消息/死信队列

  • Docker容器间网络访问
    和通信管理
  • 接口幂等性总结
  • 分布式限流要注意的问题
  • 分布式配置中心Config

    直连式/总线式架构

  • 阿里Sentinel流量防卫兵

    限流/熔断/降级/监控

  • Docker落地实战
    部署微服务
  • 服务容器化-CloudFoundry
  • 服务容器编排
    -Mesos+Marathon
  • 服务容器编排-K8S
  • 容器弹性扩缩容
  • 高性能网络通信基石
    -Netty
  • Cloud Foundry
    整体架构
  • 容器编排技术选型
  • K8S调度原理剖析
    与Pod生命周期管理
  • Mesos资源管理
    属性和配额管理
  • Netty的Reactor
    线程模型与分析
  • Cloud Foundry
    网络管理
  • Mesos资源管理
    原理剖析与实战
  • K8S控制器管理
    原理剖析与实战
  • 有状态应用如何实现
    弹性伸缩和失效重置
  • Netty 序列化实战
    Marshalling
  • 基于Cloud Foundry网络
    特性实现业务蓝绿发布
  • 通过Mesos实现DCOS
    多类型负载综合管理
  • K8S Yaml配置实战
    血泪教训总结分享
  • 容器弹性扩缩容:
    资源触发、简单决策
  • Netty 序列化实战
    Protobuf
  • Cloud Foundry
    数据服务管理
  • Marathon调度器
    原理剖析与实战
  • K8S网络模型原理剖析
    与实战
  • CloudFoundry
    autoscale技术落地
  • Netty自定义协议栈
    架构设计
  • 数据持久层的高可用
    和业务连续性
  • Marathon应用隔离
    和依赖管理
  • K8S系统分层架构回顾
    和故障排除思路
  • 容器弹性扩缩容:
    负载触发、动态扩缩容
  • Dubbo基于Netty
    数据通信源码深度分析
  • 容器应用和
    PaaS平台双重管理
  • 如何实现无单点
    大集群容器编排管理
  • 如何实现大规模集群?
    100节点->1000节点
  • 容器弹性扩缩容:
    更换轮子、自由扩缩容
  • Netty与Spring集成实现
    自定义注解扫描
  • Cloud Foundry
    混合容器云架构和实践
  • Mesos+Marathon
    落地实战,部署微服务
  • 全链路高可用架构升级
  • K8S Adds-on技术落地
  • 基于Netty实现自己的
    RPC通信框架
  • JVM性能调优
  • Tomcat性能调优
  • MySQL性能调优
  • Linux性能调优
  • 架构调优
  • 性能监控
  • 性能监控
  • SQL调优
  • 性能监控
  • 传统架构存在的问题
  • GC算法
  • 线程调优
  • 索引调优
  • IO调优
  • 去中心化
  • 内存占用调优
  • IO调优
  • 配置调优
  • 存储调优
  • 技术方案调优
  • 延迟调优
  • 内存调优
  • 调优工具
  • CPU调优
  • 综合实战

除了出色的视频内容,这里有伴你整个职业生涯的“成长社区”

学习时你能在这里获取答案,工作后你能在这里解决难题

由于课程类型与教学目标不同,学习服务会有不同,具体服务可在线咨询
问答专区
作业专区
笔记专区
资料专区
编程遇难点,名师来指点;疑难汇总一键查看,海量问答覆盖全面
多方位知识面,分层巩固吸收;学练测一体,一对一项目点评
脱离时空限制,随记随查很方便;总结课程重点,分享提升代码经验
横向拓展,超全配套教辅资源;纵向延伸,源码开放更助知识理解
了解更多

课程大纲及学习周期安排 (详细版)

阶段一: 单体架构:从架构设计到功能开发与上线
  • 第1周
  • 第2周
  • 第3周
  • 第4周
  • 第5周
架构初知与单体架构设计

想了解更多课程详情,请观看试看视频:https://class.imooc.com/trysee/index?c=javaarchitect&mid=28674

课程安排:
  1. 【加餐】大厂资深HR教你如何准备简历和面试
  2. 1、大型互联网系统架构演变历程
  3. 2、Java架构师需要具备的技术栈与能力
  4. 3、项目演示与单体架构技术选型
  5. 4、前后端分离开发模式与项目分层设计原则
  6. 5、聚合工程构建与SpringBoot2.1.x结合
  7. 6、基于PDMan工具为数据库建模
  8. 7、整合HikariCP与MyBatis
  9. 8、MyBatis数据库逆向生成
  10. 9、结合通用Mapper,编写Restful风格Api
  11. 10、事务传播详解
  12. 11、用户注册/登录流程详解与功能开发
  13. 12、整合与优化Swagger2文档Api
  14. 13、API文档生成工具Swagger2
  15. 14、设置跨域配置实现前后端联调
  16. 15、整合Log4j打印日志
  17. 16、通过日志监控Service执行时间
  18. 17、用户退出登录清空Cookie
  19. 18、开启MyBatis日志Sql打印
  20. 19、作业练习(8个)
单体架构:分类,推荐,搜索,购物车开发

本周首先带大家分析电商首页需求,然后实现首页轮播图功能,分类功能,商品推荐功能,搜索功能,商品评价功能,最后带大家开发电商核心功能模块-购物车。

课程安排:
  1. 1、电商首页轮播图功能开发
  2. 2、首页分类需求分析
  3. 3、分类实现 - 加载与渲染大分类
  4. 4、分类实现 - 自连接查询子分类
  5. 5、分类实现 - 自定义Mapper实现懒加载子分类展示
  6. 6、商品推荐 - 需求分析与Sql查询
  7. 7、商品推荐 - 实现接口与联调
  8. 8、商品评价 - 数据库设计
  9. 9、商品评价 - 评论分页实现
  10. 10、商品评价 - 信息脱敏
  11. 11、搜索商品 - 功能详述与Sql编写
  12. 12、搜索商品 - 商品搜索功能实现
  13. 13、搜索商品 - 前端业务与分类搜索查询
  14. 14、搜索商品 - 分类搜索商品查询实现
  15. 15、购物车 - 购物车存储形式
  16. 16、购物车 - 未登录已登录加入购物车业务代码讲解
  17. 17、购物车 - 渲染(刷新)购物车
  18. 18、购物车 - 删除商品业务讲解
  19. 19、作业练习(6个)
单体架构:地址,订单,支付,定时任务开发

本周首先带大家完成收获地址的开发,接着开发电商核心业务功能-订单,支付(微信支付,支付宝支付),最后带大家设计一个定时任务,实现定时关闭超期未支付订单功能。

课程安排:
  1. 1、收货地址 - 需求分析与表设计
  2. 2、收货地址 - 增删改查功能开发
  3. 3、收货地址 - 默认收货地址设置
  4. 4、确认订单 - 订单流程梳理与订单状态
  5. 5、确认订单 - 订单表设计
  6. 6、确认订单 - 聚合支付中心作用
  7. 7、确认订单 - 提交并且接受订单信息
  8. 8、创建订单 - 填充新订单数据
  9. 9、创建订单 - 保存订单与子订单数据
  10. 10、创建订单 - 扣除商品库存与订单状态保存
  11. 11、创建订单 - 测试订单创建与回滚
  12. 12、创建订单 - 创建订单后,前端的业务处理
  13. 13、微信支付 - 构建商户端支付成功的回调接口
  14. 14、微信支付 - 生成支付二维码
  15. 15、微信支付 - 商户回调地址与内网穿透
  16. 16、支付宝支付 - 异步通知与同步通知
  17. 17、定时任务 - 定时关闭超期未支付订单
  18. 18、定时任务 - 定时任务弊端与优化方案
  19. 19、作业练习(6个)
单体架构:用户中心 ,订单/评价管理开发

本周首先带大家完成用户中心模块,之后一起完成订单管理,评价管理功能,完善中心首页, 通过本周的学习,我们已经完全有能力架构与开发任何一个单体的项目了。

课程安排:
  1. 1、用户中心 - 查询,修改用户信息
  2. 2、用户中心 - 使用Hibernate验证用户信息
  3. 3、上传头像 - 定义文件保存位置
  4. 4、上传头像 - 图片格式限制以防后门
  5. 5、上传头像 - 大小限制,以及自定义捕获异常
  6. 6、订单管理 - 查询我的订单Sql
  7. 7、订单管理 - 嵌套查询分页Bug解决方案
  8. 8、订单管理 - 操作订单前的验证
  9. 9、评价管理 - 评价需求分析
  10. 10、评价管理 - 待评价商品列表开发
  11. 11、评价管理 - 评价商品功能开发
  12. 12、中心首页 - 订单状态接口联调
  13. 13、中心首页 - 订单动向接口联调
  14. 14、作业练习(6个)
单体架构:单体项目如何在云服务器部署上线

本周带大家一起打包与发布前端项目,后端项目到云服务器上,最后让大家拥有一个上线电商项目。

课程安排:
  1. 1、云服务器购买及安装配置(JDK/Tomcat/MariaDB)
  2. 2、SpringBoot多环境部署profile(开发环境/生产环境)
  3. 3、SpringBoot项目打成war并发布到云服务器
  4. 4、前端项目发布
  5. 5、解决Cookie异常,测试订单支付流程
  6. 6、作业练习(6个)
阶段二: 集群架构:从单体到高可用集群不断演进
  • 第6周
  • 第7周
  • 第8周
集群架构:LVS+Nginx高可用集群

本周开始,我将从单体演进到集群,首先带大家学习Nginx,负载均衡等相关技术,之后带大家通过LVS+Keepalived+Nginx实现高可用服务器集群, 从而降低单节点负载压力。

课程安排:
  1. 1、在Nginx中解决跨域问题
  2. 2、在Nginx中配置静态资源防盗链
  3. 3、Nginx模块化设计
  4. 4、Nginx集群负载均衡
  5. 5、使用Nginx搭建3台Tomcat集群
  6. 6、使用JMeter测试单节点与集群并发异常率
  7. 7、使用 Keepalived提高吞吐量
  8. 8、负载均衡原理剖析 - ip_hash - url hash 与 least_conn
  9. 9、一致性hash算法讲解
  10. 10、Nginx控制浏览器缓存
  11. 11、Nginx反向代理缓存
  12. 12、使用Nginx配置SSL证书提供HTTPS访问
  13. 13、Nginx单实例存在的问题与集群原理详解
  14. 14、心跳机制与自动重启实现
  15. 15、动静分离的那些事儿
  16. 16、部署Nginx到云端 - 实现动静分离与虚拟主机
  17. 17、部署Nginx到云端 - 测试与日志调试
  18. 18、实现Keepalived高可用双机主备
  19. 19、实现Keepalived高可用双机热备
  20. 20、LVS+Keepalived+Nginx实现高可用集群 负载均衡
  21. 21、作业练习(6个)
集群架构:主从复制高可用Redis集群

本周首先会对Redis的架构与原理进行解析,之后整合Redis,实现Redis哨兵,搭建主从复制高可用Redis集群等,最后带大家解决缓存雪崩,穿透等问题。

课程安排:
  1. 1、Redis架构与原理解析
  2. 2、在SpringBoot中整合Redis实现数据存取
  3. 3、基于Redis优化首页轮播图和分类查询
  4. 4、在Redis中实现订阅功能
  5. 5、Redis中RDB,AOF持久化工作原理解析
  6. 6、Redis主从架构模式讲解
  7. 7、Redis主从复制,无磁盘化复制原理解析
  8. 8、过期的缓存Key处理方案
  9. 9、Redis哨兵机制与原理解析
  10. 10、Redis哨兵落地实现
  11. 11、Redis集群解决方案设计
  12. 12、Redis集群原理解析
  13. 13、主从复制高可用Redis集群搭建
  14. 14、SpringBoot集成Redis集群环境
集群架构:如何应对缓存雪崩,穿透

本周会帮大家分析缓存雪崩现象,然后为大家讲解缓存雪崩的解决方案,缓存穿透的解决方案,并且带大家一起落地解决对应的问题,最后为家拓展讲解Redis批量查询的优化设计。

课程安排:
  1. 1、缓存雪崩现象解析
  2. 2、缓存雪崩的解决方案与落地
  3. 3、缓存穿透的解决方案与落地
  4. 4、拔高-Redis批量查询的优化设计
阶段三: 分布式架构:手把手带你逐个击破分布式难题
  • 第9周
  • 第10周
  • 第11周
  • 第12周
  • 第13周
  • 第14周
  • 第15周
  • 第16周
  • 第17周
手把手带你快速搞定分布式会话与单点登录

本周开始,我们将从集群演进到分布式架构。但在分布式环境下又会有更多问题等待着我们去解决。现在我们就来一起解决下分布式会话与单点登录相关问题。

课程安排:
  1. 1、有状态会话和无状态会话区别
  2. 2、动静分离架构下的用户会话解决方案
  3. 3、集群与分布式系统中的用户会话解决方案
  4. 4、单个Tomcat会话和全局Redis会话关系
  5. 5、通过Redis+Cookie来实现前后端分离与分布式会话
  6. 6、配置用户权限拦截器
  7. 7、单点登录的作用,为何使用SSO
  8. 8、多系统跨域的用户会话问题
  9. 9、常见的会话跨域形式(Session 共享)
  10. 10、Cookie实现Session跨域与原理
  11. 11、spring-session实现与原理
手把手带你快速搞定分布式搜索引擎ES

本周我们首先会以架构师角度分析目前搜索业务的弊端,之后由浅入深讲解ES,集成ES集群,优化商品搜索与分类搜索等功能,最后拓展2个案例让大家更加深入的理解ES。

课程安排:
  1. 1、ES架构与原理解析
  2. 2、ES健康状况详解
  3. 3、dsl搜索(分词,分页,多关键字匹配,布尔查询)
  4. 4、出现不合法搜索如何定位问题
  5. 5、ES集群原理,shard与replica
  6. 6、集成ES集群故障之节点宕机
  7. 7、集成ES集群故障之脑裂问题探讨
  8. 8、集群环境中(分布式)文档的存取原理
  9. 9、MySql和ES进行数据同步的方案分析
  10. 10、基于Logstash进行数据同步
  11. 11、基于ES实现商品搜索与分类搜索
  12. 12、ES深度分页下会带来怎样的性能问题
  13. 13、大数据量下该如何使用Scoll滚动技术进行搜索
  14. 14、ES拓展 - 基于Geo的地理坐标搜索实现
  15. 15、ES拓展 - 社交案例,距离我几公里内的好友
手把手带你快速搞定分布式FastDFS

在分布式系统中,文件系统是必须被所有节点访问的,为了解决单体架构中文件服务的单一性问题,我们需要学习分布式文件存储(FastDFS、阿里OSS云存储)。

课程安排:
  1. 1、以架构师角度分析目前文件上传所存在的问题
  2. 2、分布式文件系统技术选型:FastDFS VS 阿里OSS
  3. 3、FastDFS架构与原理解析
  4. 4、Nginx + FastDFS 实现文件服务器
  5. 5、FastDFS整合SpringBoot,修改项目中文件上传
  6. 6、第三方图片存储解决方案
  7. 7、阿里OSS存储与实现原理
  8. 8、SpringBoot整合阿里OSS SDK与API
  9. 9、实现图片上传到OSS中
  10. 10、在生产环境中切换文件存储为FastDFS
手把手带你快速搞定分布式RabbitMQ

本周首先会讲解业界主流消息队列技术选型,提升大家的技术判断能力,之后是SpringBoot与RabbitMQ整合,最后带大家进行RabbitMQ基础组件封装。一起感受代码设计魅力吧。

课程安排:
  1. 1、业界主流消息队列与技术选型
  2. 2、ActiveMQ集群架构与原理解析
  3. 3、RabbitMQ集群架构与原理解析
  4. 4、RocketMQ集群架构与原理解析
  5. 5、Kafka集群架构与原理解析
  6. 6、RabbitMQ核心API与高级特性
  7. 7、RabbitMQ与SpringBoot整合实战(生产端,消费端)
  8. 8、RabbitMQ镜像队列集群构建
  9. 9、RabbitMQ消息可靠性投递机制实战
  10. 10、作为架构师如何去进行高层次的抽象公共API封装,消息序列化
  11. 11、生产端SDK自动装配与架构接口定义
  12. 12、生产端发送迅速异步消息
  13. 13、生产端RabbitTemplate池化封装
  14. 14、生产端消息序列化反序列化转换封装
  15. 15、RabbitMQ基础组件封装-基础组件应用演练
  16. 16、分布式定时任务组件封装
  17. 17、可靠性消息重试实现集成定时任务组件
  18. 18、批量,延迟消息应用与封装实现
手把手带你快速搞定分布式Kafka

本周我们来深入学习另外一个分布式消息队列-Kafka,然后基于Kafka搭建一个高吞吐量日志收集平台,让大家在实战中彻底掌握Kafka。

课程安排:
  1. 1、Kafka核心API
  2. 2、Kafka与SpringBoot整合实战
  3. 3、Kafka高吞吐量-海量日志收集架构设计
  4. 4、Kafka高吞吐量-日志输出(Log4j2)
  5. 5、Kafka高吞吐量-日志收集(FileBeat)
  6. 6、Kafka高吞吐量-日志过滤(Logstash)
  7. 7、Kafka高吞吐量-日志持久化(Elasticsearch)
  8. 8、Kafka高吞吐量-日志可视化(Kibana)
  9. 9、Kafka监控告警watcher监控告警实战
手把手带你快速搞定分布式锁

在高并发场景下资源共享问题是比较常见也是必须要解决的。本周我们就学习多种基于分布式锁的解决方案,对比它们各自的优缺点,最后大家可以根据自己项目实际情况进行选择。

课程安排:
  1. 1、如何使用锁解决电商项目产生的超卖问题?
  2. 2、基于Synchronized锁解决超卖问题(最原始的锁)
  3. 3、基于ReentrantLock锁解决超卖问题(并发包中的锁)
  4. 4、乐观锁与悲观锁,公平锁与非公平锁
  5. 5、单体应用锁局限性分析&解决方案
  6. 6、基于数据库的悲观锁实现分布式锁
  7. 7、基于Redis的setnx实现分布式锁
  8. 8、基于Zookeeper的瞬时节点实现分布式锁
  9. 9、基于Zookeeper的客户端Curator实现分布式锁
  10. 10、基于Redis的Java客户端Redisson实现分布式锁
  11. 11、如何在电商项目中引入Redisson分布式锁
  12. 12、多种分布式锁技术实现方案,如何选择?
手把手带你快速搞定读写分离、分库分表

随着系统数据量的增加,单体数据库存储性能问题日益凸显,本周我们就来学习2种数据源读写分离和分库分表的解决方案-MyCAT和Sharding-JDBC。

课程安排:
  1. 1、如何选择垂直切分、水平切分
  2. 2、MyCAT快速体验
  3. 3、MyCAT用户配置
  4. 4、MyCAT的schema配置实操
  5. 5、MySql主从配置
  6. 6、MyCAT分片规则配置(枚举分片、取模)
  7. 7、MyCAT全局表、子表
  8. 8、MyCAT高可用架构原理解析
  9. 9、MyCAT高可用架构-反向代理(HAProxy)
  10. 10、Sharding-JDBC分片表 (Spring和SpringBoot)
  11. 11、Sharding-JDBC全局表(Spring和SpringBoot)
  12. 12、Sharding-JDBC子表(Spring和SpringBoot)
手把手带你快速搞定分布式ID、分布式事务

分库分表后,引发了ID重复问题、分布式事务等问题,本周我们会学习多种分布式全局ID的解决方案以及多种分布式事务的解决方案。

课程安排:
  1. 1、分布式全局ID的多种解决方案
  2. 2、使用UUID作为分布式全局唯一主键ID
  3. 3、基于MyCAT实现全局唯一主键ID(本地文件和数据库)
  4. 4、基于雪花算法实现全局唯一主键ID
  5. 5、分布式系统CAP、BASE原理和ACID原则
  6. 6、分布式事务问题解析
  7. 7、基于XA协议的两阶段提交解决数据一致性问题
  8. 8、使用Atomikos做分布式事务
  9. 9、MyCAT与Sharding-JDBC分布式事务
  10. 10、基于事务补偿机制解决数据一致性
  11. 11、基于本地消息表+定时任务解决数据一致性
  12. 12、基于MQ生产消费模型解决数据一致性
手把手带你快速搞定分布式接口幂等性

分布式系统中接口繁多,重试机制必不可少,这就需要对接口进行幂等性设计; 当网站流量激增时,我们可以通过分布式限流技术来降低服务器负载压力。

课程安排:
  1. 1、基于唯一索引解决delete操作的幂等性问题
  2. 2、基于乐观锁解决update的幂等性操作问题
  3. 3、通过token机制解决insert的幂等操作问题
  4. 4、分布式限流技术选型
  5. 5、限流常用算法讲解
  6. 6、基于Nginx的分布式限流 - IP限制
  7. 7、基于Nginx的分布式限流 - 连接数限制
  8. 8、基于Redis+Lua的分布式限流
  9. 9、基于网关层实现分布式限流
  10. 10、分布式限流落地
  11. 11、分布式限流要注意的问题
阶段四: 微服务架构:如何基于SpringCloud升级微服务架构
  • 第18周
  • 第19周
  • 第20周
  • 第21周
  • 第22周
  • 第23周
  • 第24周
  • 第25周
微服务架构认知、服务治理-Eureka

本周首先带大家从架构师的视角认识微服务架构以及SpringCloud和微服务架构的关系, 然后开始学习和改造服务治理Eureka。

课程安排:
  1. 1、微服务架构的利弊以及面临的挑战
  2. 2、微服务的拆分规范,原则
  3. 3、阿里新零售业务商品中心的微服务化过程
  4. 4、SpringCloud和微服务架构的关系
  5. 5、SpringCloud整体架构
  6. 6、面对疯狂演进的版本,跟还是不跟?
  7. 7、电商系统微服务化的构想
  8. 8、服务治理技术选型Eureka VS Consul VS Nacos
  9. 9、如何看待Eureka2.0开源计划搁置对技术选型的影响
  10. 10、Eureka体系架构解析
  11. 11、创建服务注册中心
  12. 12、服务注册源码探秘
  13. 13、服务发现,心跳监测与服务剔除,服务续约,服务自保,服务下线
  14. 14、心跳检测和服务续约源码探秘
  15. 15、启用心跳和健康度检查
  16. 16、如何保证注册中心的高可用化,单中心宕机的思考
  17. 17、双备份注册中心 + 架构心得
  18. 18、电商系统用户模块集成Eureka
负载均衡、服务通信与调用

本周我们需要借助Ribbon组件提供的负载均衡功能缓解访问压力。同时为了改善编程体验,我们会学习服务间调用功能-Feign。

课程安排:
  1. 1、负载均衡技术选型(客户端 vs 服务器端)
  2. 2、Ribbon体系架构解析
  3. 3、为服务消费者添加负载均衡功能
  4. 4、懒加载与饥饿加载
  5. 5、负载均衡策略详解
  6. 6、探究负载均衡策略源码
  7. 7、深入了解LoadBalanced注解的底层机制
  8. 8、没有银弹!如何针对具体业务采用合适的负载均衡策略
  9. 9、电商系统用户模块统集成Ribbon
  10. 10、Ribbon可扩展性的研究-irule机制
  11. 11、自定义轮询式负载均衡策略
  12. 12、Feign体系架构解析
  13. 13、将Feign应用到服务消费者中
  14. 14、深入了解EnableFeignClient注解的底层机制
  15. 15、理想的Feign风格项目架构分享
  16. 16、配置重试和超时策略
  17. 17、深入了解FeignContract协议解析过程
  18. 18、电商系统用户模块统集成Feign
服务容错-Hystrix

服务异常是生产环境中再正常不过的情况,轻则一行error log,重则引发服务雪崩,把上下游的服务集群一波团灭。本周我们就来学习如果使用Hystrix处理服务调用异常。

课程安排:
  1. 1、服务容错的解决方案 (降级和熔断)
  2. 2、Hystrix体系架构解析(依赖隔离、服务降级、请求熔断)
  3. 3、服务降级原理及常用解决方案(FailFast, Timeout和Request Cache)
  4. 4、Feign+Hystrix实现Fallback降级
  5. 5、Hystrix实现Request Cache降级
  6. 6、多级降级方案(自定义降级处理类,二次降级)
  7. 7、超时降级 - 规避与Ribbon共同作用时的坑
  8. 8、Hystrix框架降级方案的触发方式(源码品读)
  9. 9、熔断器以及工作原理
  10. 10、Feign集成Hystrix熔断器
  11. 11、Hystrix熔断器参数的作用(源码品读)
  12. 12、降级熔断的业务规划(规划主链路/业务与容灾策略)
  13. 13、线程隔离 - 核心方案以及工作原理
  14. 14、线程池 vs 信号量的优缺点比较
  15. 15、聚合Hystrix监控信息 – Turbine和Hystrix Dashboard
  16. 16、通过Turbine聚合Consumer信息
  17. 17、电商系统用户模块集成Hystrix实现降级熔断
分布式配置中心-Config

在项目中一定经常遇到数不清的配置项和配置文件,管理起来十分头大,本周就带你一起玩转微服务下的配置管理组件-Config。

课程安排:
  1. 1、配置中心在微服务中的应用
  2. 2、Config核心功能和体系架构
  3. 3、了解直联式架构,搭建直连式的配置中心
  4. 4、搭建配置中心Config-Server
  5. 5、搭建Client端直连配置中心
  6. 6、资源文件加载流程ResourceRepository源码分析
  7. 7、如何在运行期动态刷新配置项
  8. 8、单中心宕机的思考,如何保证配置中心的高可用化
  9. 9、借助Eureka实现高可用性配置中心
  10. 10、如何对大规模集群进行刷新?总线式架构展望
  11. 11、对称性密钥进行加解密(保存私密信息)
  12. 12、分布式配置中心的其他花式用法(环境配置项隔离/辅助服务降级/平滑灰度等)
  13. 13、电商系统用户注册功能集成SCC
  14. 14、视野拓展-阿里系的分布式配置中心
  15. 15、视野拓展-配置中心在阿里新零售业务中的应用
消息总线、服务网关

微服务架构中,少不了消息的传递和路由,本周我们就来学习一下消息总线-Bus和第二代服务网关-Gateway。

课程安排:
  1. 1、Bus体系架构解析
  2. 2、Bus的接入方式 (RabbitMQ、Kafka)
  3. 3、配置中心改造为总线架构 - RabbitMQ
  4. 4、源码解析-bus-refresh底层机制
  5. 5、如何实现自动推送?Git WebHook
  6. 6、架构思考-消息总线如何助攻其他业务场景
  7. 7、网关组件选型Gateway vs Zuul
  8. 8、Gateway体系架构解析
  9. 9、Gateway路由功能详解(Route)
  10. 10、利用Path断言实现url映射
  11. 11、利用After断言实现定时秒杀场景
  12. 12、自定义过滤器实现接口计时功能
  13. 13、Gateway过滤器机制源码解析
  14. 14、如何进行权限认证 - 分布式Session的替代方案有哪些
  15. 15、基于JWT实现用户鉴权
  16. 16、架构思考-如何借助网关层对服务端各类异常做统一处理
  17. 17、拓展-网关层的其他妙用 - 限流
  18. 18、为电商系统添加服务网关
服务调用链追踪、消息驱动

排查线上异常是我们的日常任务,其中最重要的方式就是根据日志信息按图索骥摸排线索,本周我们学习Sleuth+Zipkin+ELK实现日志打标收集和搜索展示。之后拓展组件Stream。

课程安排:
  1. 1、调用链追溯在微服务中的应用
  2. 2、Sleuth核心功能和体系架构解析
  3. 3、调用链路数据模型 (Trace、Span、Annotation)
  4. 4、整合Sleuth追踪调用链路
  5. 5、解码解析-RequestHeader追踪调用链路的原理
  6. 6、Sleuth整合ELK实现日志检索
  7. 7、电商项目用户模块集成Sleuth + Zipkin
  8. 8、拓展-阿里新零售业务中商品发布的削峰策略
  9. 9、源码解析-探秘Stream Binder作用机制
  10. 10、基于发布订阅实现广播功能
  11. 11、阿里新零售业务利用发布订阅实现商品信息刷新
  12. 12、Stream中的消费组和消费分区机制
  13. 13、基于消费组实现轮询单播功能
  14. 14、Stream + MQ插件实现延迟消息、equeue操作
  15. 15、架构思考-异常情况导致消息无法被消费怎么办?
  16. 16、借助死信队列实现异常处理
  17. 17、定制自定义异常逻辑
  18. 18、电商项目引入Stream + MQ
微服务下Sentinel流量防控卫兵

本周会手把手带大家学习一个高并发流量防护的利器-Sentinel,通过对Sentinel的学习和实践,让大家有能力解决你项目中的流控,降级等问题。

课程安排:
  1. 1、Sentinel哨兵全景分析
  2. 2、Sentinel哨兵核心API详解
  3. 3、源码解析-Sentinel哨兵核心主流程分析
  4. 4、Sentinel哨兵SpringAOP注解方式应用
  5. 5、Sentinel哨兵与主流框架的适配使用
  6. 6、Sentinel哨兵集群流控策与替代方案分享
  7. 7、Sentinel哨兵集成Apollo(携程的开源配置中心)
  8. 8、Apollo持久化规则扩展思路详解
  9. 9、Apollo配置文件解析与ApolloOpenApiClient创建
  10. 10、Apollo sentinel-dashboard扩展实现
  11. 11、Apollo 客户端集成sentinel-dashboard
服务治理的另一条路 - Dubbo

本周属于拓展学习周,主要以图文的方式为大家拓展讲解Dubbo相关知识,希望通过本章的学习, 大家可以对基于RPC协议的服务治理有一个深刻的认知。

课程安排:
  1. 1、RPC VS HTTP
  2. 2、Dubbo架构设计解析
  3. 3、Dubbo核心功能讲解
  4. 4、构建Dubbo注册中心和Service Provider
  5. 5、RPC协议解析流程
  6. 6、构建服务消费者
  7. 7、容错策略,负载均衡
  8. 8、基于Dubbo-Admin的服务治理
  9. 9、源码解析-Dubbo调用链路解析
  10. 10、拓展-阿里系王牌中间件 - HSF
阶段五: 容器化:手把手带你快速搞定Docker与K8S
  • 第26周
  • 第27周
  • 第28周
  • 第29周
  • 第30周
服务容器化-Docker

微服务架构改造后应用组件繁多,给服务部署带来了很大的挑战。本周我们就从热门技术Docker入手,解决服务部署难题。

课程安排:
  1. 1、服务容器化优势和助力
  2. 2、服务容器化技术演进之路
  3. 3、容器技术选型Docker VS Cloud Foundry
  4. 4、Docker快速搭建,Docker整体架构解析
  5. 5、容器生命周期管理
  6. 6、Dockerfile实战:如何站在巨人的肩膀上,实现快速部署
  7. 7、如何实现容器间的网络访问和通信管理
  8. 8、选择最适合你的容器镜像仓库
  9. 9、Docker生态圈:选型和优化
  10. 10、Docker落地实战,部署微服务
容器技术-Cloud Foundry

本周为大家讲解容器部署另一分支解决方案-Cloud Foundry, 从架构和功能介绍到容器生命周期管理、网络和数据服务;逐步向后续的容器编排延伸。

课程安排:
  1. 1、Cloud Foundry整体架构解析
  2. 2、Cloud Foundry环境搭建
  3. 3、Cloud Foundry常用命令实战,实现容器生命周期管理
  4. 4、Cloud Foundry网络管理(路由和访问控制)
  5. 5、基于Cloud Foundry网络特性实现业务蓝绿发布
  6. 6、Cloud Foundry数据服务管理(关系型数据库/缓存/配置管理)
  7. 7、如何实现数据持久层的高可用和业务连续性(架构思考)
  8. 8、Cloud Foundry容器应用和PaaS平台双重管理(Ops & Aps Manager)
  9. 9、Cloud Foundry混合容器云架构和实践
  10. 10、Cloud Foundry落地实战,部署微服务
容器编排-Mesos+ Marathon

本周为大家提供容器编排第一套解决方案-Mesos+Marathon,助力大家搞定容器编排难题,让你的项目从应用架构向企业架构过渡。

课程安排:
  1. 1、Mesos+Marathon整体架构解析
  2. 2、Mesos+Marathon环境搭建和小试牛刀
  3. 3、Mesos资源管理原理剖析与实战
  4. 4、Mesos实现DCOS多类型负载综合管理
  5. 5、Marathon调度器原理剖析与实战(常驻服务生命周期管理)
  6. 6、Marathon应用隔离和依赖管理
  7. 7、如何实现无单点、大集群容器编排管理
  8. 8、Mesos+Marathon落地实战,部署微服务
容器编排-K8S

本周我们一起来学习K8S容器编排。我们会以企业架构师的视野,重新审视容器化编排。

课程安排:
  1. 1、K8S整体架构及常用命令
  2. 2、K8S调度原理剖析与Pod生命周期管理
  3. 3、K8S控制器管理原理剖析与实战
  4. 4、K8S网络模型和服务访问管理
  5. 5、K8S服务发现与负载均衡原理剖析与实战
  6. 6、K8S系统分层架构和故障排除思路
  7. 7、K8S存储原理实战(数据卷和配置管理)
  8. 8、K8S认证授权原理剖析与实战(安全框架/RBAC)
  9. 9、K8S集群监控、快速故障排查和业务连续性保障
  10. 10、如何实现大规模集群?10节点->100节点->1000节点
  11. 11、全链路高可用架构升级
  12. 12、知识扩展-如何基于容器编排工具实现CI/CD
  13. 13、K8S落地实战,部署微服务
容器弹性扩缩容

本周为大家分享容器弹性扩缩容整体架构思路。我们会采用Cloud Foundry实现资源决策性弹性扩缩容; 采用Mesos+Marathon实现负载驱动型动态扩缩容;采用K8S增值插件实现全自由扩缩容。

课程安排:
  1. 1、资源管理、属性和配额管理
  2. 2、有状态应用如何实现弹性伸缩和失效重置
  3. 3、容器弹性扩缩容实现资源触发、简单决策
  4. 4、容器弹性扩缩容实现负载触发、动态扩缩容
  5. 5、容器弹性扩缩容实现更换轮子、自由扩缩容
阶段六: 高性能架构:手把手带你快速搞定Netty与性能调优
  • 第31周
  • 第32周
  • 第33周
  • 第34周
  • 第35周
  • 第36周
  • 第37周
  • 第38周
  • 第39周
  • 第40周
高性能网络通信基石-Netty入门与提高

很多开源产品都使用了Netty作为底层的通信基础,比如Rocketmq、Dubbo等,在工作中,对数据通信、数据同步的场景也经常会使用到,所以这周我们先入门与提高Netty。

课程安排:
  1. 1、TCP通信基础
  2. 2、架构师视角解读Netty技术选型与核心
  3. 3、架构拆包粘包 - Netty TCP拆包粘包问题的处理
  4. 4、架构序列化- Netty 序列化实战 Marshalling
  5. 5、架构序列化 - Netty 序列化实战 Protobuf
  6. 6、架构序列化 - Netty自定义协议栈实战
  7. 7、Netty HTTP协议栈
高性能网络通信基石-Netty最佳实战

本周我们将带大家提升Netty实战能力,并掌握Netty在实际开发中的最佳实践。

课程安排:
  1. 1、Netty项目最佳实战- 数据可靠性通信场景分析与架构设计
  2. 2、Netty项目最佳实战- 数据结构定义与分析(@Spring 与 硬编码方式定义)
  3. 3、Netty项目最佳实战- Server端落地
  4. 4、Netty项目最佳实战- Client端落地
  5. 5、Netty项目最佳实战- 关于buffer的资源释放问题详解
  6. 6、应用程序优化与测试细节点讲解
基于Netty打造RPC通信框架-1

本周我们从0到1开发一个基于Netty的RPC通信框架,从整体架构设计、模块拆分,到技术落地,手把手带着小伙伴们感受架构设计与落地之美。

课程安排:
  1. 1、实现一个最简单的RPC通信框架设计思路
  2. 2、实现一个最简单的RPC通信框架落地
  3. 3、架构设计与落地-RPC框架整体架构设计思路
  4. 4、架构设计与落地-RPC整体框架API抽象与剥离
  5. 5、架构设计与落地-RPC Client 客户端落地
  6. 6、架构设计与落地-RPC Server 服务端落地
基于Netty打造RPC通信框架-2

有了上一周的学习和积累,本周我们继续打造属于我们自己的RPC通信框架,并最后完成功能测试。

课程安排:
  1. 1、架构设计与落地-RPC Proxy 代理
  2. 2、架构设计与落地-RPC Codec编解码
  3. 3、架构设计与落地- RpcCallback与RpcFuture,AQS实现
  4. 4、架构设计与落地-RPC彩蛋功能点扩展之与Spring整合思路
  5. 5、架构设计与落地-RPC彩蛋功能点扩展之注册中心整合思路
应用监控与调优-工具篇

本周我们先教大家如何迅速发现系统瓶颈,然后带大家掌握各种应用监控工具,从而为后面的监控与调优实战打好基础。

课程安排:
  1. 1、开源的链路跟踪工具及对比
  2. 2、Skywalking监控Java应用
  3. 3、Skywalking监控数据库
  4. 4、Skywalking高可用
  5. 5、Skywalking存储
  6. 6、Spring Boot Actuator - 生产可用的应用监控工具
  7. 7、Prometheus - 监控工具
  8. 8、Grafana - 监控 + 告警工具
  9. 9、Tomcat Manager - Tomcat监控
  10. 10、psi-probe - Tomcat监控
  11. 11、日志监控, 慢SQL监控
应用监控与调优-技巧与实战篇

本周我们继续学习应用监控与调优,首先我们会学习到各种应用调优常用技巧,之后进阶并发编程4板斧,并实战线程池调优,Tomcat调优的多种方式,最后综合实战,加深理解。

课程安排:
  1. 1、应用调优常用技巧1 - 池化对象,本地异步化(3种方式)
  2. 2、应用调优常用技巧2- 远程调用异步化(3种方式),缓存
  3. 3、并发编程4板斧(线程封闭、降低锁粒度、锁粗化、无锁)
  4. 4、应用调优实战1 - 定位应用层面性能问题的通用思路与步骤
  5. 5、应用调优实战2 - 线程池调优
  6. 6、Tomcat调优1 - 原生Tomcat调优配置属性
  7. 7、Tomcat调优2 - Spring Boot内嵌式Tomcat调优配置属性
  8. 8、Tomcat调优3 - Tomcat调优手把手
  9. 9、应用调优案例实战
JVM性能调优-理论+工具篇

本周我们首先要学习JVM核心算法,工具和参数。通过本周的学习,我们基本上可以具备JVM调优所需的一切准备,为后续真正的实战打下坚实的基础。

课程安排:
  1. 1、垃圾回收算法 - 复制, 标记清除,标记整理
  2. 2、垃圾回收器 - Serial,Parallel,ParNew,CMS,G1,ZGC
  3. 3、垃圾回收器 - 多款回收器如何配合
  4. 4、JVM监控工具 - jinfo, jps,jstat,jstack,jmap
  5. 5、JVM监控工具 - jconsole,jvisualvm,jmc,mat
  6. 6、GC日志分析工具 - GCEasy与GCPlot
  7. 7、线程Dump日志分析工具 - FastThread
  8. 8、堆Dump日志分析工具 - HeapHero
  9. 9、常用JVM调优参数详解
JVM性能调优-实战篇

本周我们进入JVM调优实战,通过本周的实战学习,大家基本上可以解决工作中80%以上JVM相关的性能调优问题。

课程安排:
  1. 1、调优实战1 - 如何确定最小堆内存?
  2. 2、调优实战2 - 如何确定最大堆内存?
  3. 3、调优实战3 - 死锁分析
  4. 4、调优实战4 - 内存溢出问题解决方案(堆内存、Metadataspace区)
  5. 5、调优实战4 - 内存溢出问题解决方案(栈溢出、直接内存溢出等)
  6. 6、调优实战5 - 垃圾回收器调优(吞吐量、STW权衡)
  7. 7、调优实战6 - 栈上分配、偏向锁等对系统调优的影响
  8. 8、调优实战7 - 升级JDK对系统优化的影响
  9. 9、调优实战8 - young GC频繁/Full GC频繁
  10. 10、调优实战9 - 应用CPU占用过高问题分析
  11. 11、调优实战10 - 应用无端变得奇慢,而且越来越慢
数据库监控与调优

本周我们来一起解决数据库监控与调优的问题,通过本周的学习,基本上可以搞定慢查询,索引等数据库重难点性能调优问题。

课程安排:
  1. 1、数据库监控 - Prometheus
  2. 2、慢查询日志
  3. 3、索引分析与优化
  4. 4、锁优化,Query Profiler
  5. 5、SQL优化工具
  6. 6、MySQL配置优化
  7. 7、拓展分享:如何在合适的场景用合适的数据库?
  8. 8、拓展分享:业务妥协会对系统调优造成怎样的影响?
Linux调优与架构调优

本周我们将学习Linux与架构优化,通过本周及前面几周的学习,相信大家已经对性能优化不再畏惧,反而会跃跃欲试,那就学以致用,尽早的在你的项目中用起来吧。

课程安排:
  1. 1、Linux常用监控调优命令
  2. 2、Linux监控可视化
  3. 3、传统架构存在的问题
  4. 4、去中心化:微服务,无状态 vs 有状态
  5. 5、拓展分享:技术方案对业务优化的影响

大厂·大牛·大师
为你铺就技术人才成长直升之路

  • Geely

    资深架构师

  • 风间影月

    现任创业公司CTO

  • 阿神

    TMD资深架构师

  • 凌波微步

    BAT资深架构师

  • 姚半仙

    知名国际电商
    资深架构师

  • 张飞扬

    知名国际电商
    资深架构师

  • 大目

    BAT资深架构师

讲师介绍: 10余年一线开发、架构及技术团队管理经验。是门户、搜索、报价、交易、供应链等核心系统技术负责人;担任所在企业的技术讲师、应届生导师、校招、社招面试官、技术委员会常委;有丰富的大型网站架构设计实战经验

擅长领域: 业务架构设计、分布式系统架构设计、性能优化等

主要负责课程部分: 课程总设计和技术总顾问

讲师介绍: 10余年Java研发,架构设计与技术管理经验。目前在创业公司做CTO。有丰富的电商平台与物流平台核心系统的架构设计和开发经验。拥有丰富的大型项目开发经验,授课风格诙谐幽默,讲解到位细致。在慕课网现已上线多门课程,广受学员好评。

擅长领域: 集群,分布式系统架构设计,项目管理

主要负责课程部分: 单体项目实战,Nginx集群,分布式缓存Redis,分布式会话与单点登录,分布式文件系统,分布式搜索Elasticsearch

讲师介绍: 10余年Java架构设计与研发经验。目前就职于国内知名O2O互联网公司,从事基础架构设计研发工作。在慕课网现已上线多门课程,广受学员好评。

擅长领域: 系统架构,应用架构和基础组件架构设计,对高并发、高可用、分布式系统设计有着丰富的实战经验,精通互联网Java主流技术。

主要负责课程部分: 分布式架构设计-消息中间件,微服务架构设计-Sentinel哨兵,高性能架构设计-Netty实战&RPC框架实战

讲师介绍: 10余年互联网Java开发与架构工作,对分布式与高并发领域有着深入的研究和理解; 实际操作过多个互联网系统的微服务改造。课程内容紧凑,与实际应用场景结合,深入浅出

擅长领域: 电商系统的架构设计,分布式系统等

主要负责课程部分: 分布式锁、分库分表、分布式事务、分布式全局id、幂等性操作

讲师介绍: 10余年Java架构设计与研发经验,目前就职于国外知名电商公司,从事架构设计工作。曾参与阿里战略核心业务从0到1的落地,作为核心成员参与商品中心和营销平台的架构设计与研发。所主导设计的业务系统已接入手机淘宝,抗得住超高并发访问量。

擅长领域: 擅长基于互联网电商场景的高并发、高可用系统架构与设计。

主要负责课程部分: 分布式架构设计-分布式限、微服务架构设计-服务治理,负载均衡, 服务间通信与调用,降级熔断,分布式配置中心,消息总线,服务网关,调用链追踪,消息驱动组件,Dubbo

讲师介绍: 10余年系统架构设计与咨询顾问经验。目前就职于国外知名互联网公司,从事系统架构和企业架构设计评审工作。对安全性、高可用、高性能系统设计有着丰富的实战经验。

擅长领域: 擅长系统优化、互联网转型和非功能性架构设计,精通容器编排部署和微服务管理。

主要负责课程部分: 容器化落地 - Docker & Cloud Foundry,容器编排管理 - Mesos & Marathon & Kubernetes,容器弹性扩缩容 – 多解决方案混合使用

讲师介绍: 十年+软件系统开发经验,多年系统架构经验。参与开发/架构多个大型项目,著有《Spring Cloud与Docker微服务架构实战》一书,是2017年十佳畅销书,同类书籍排名前列。热爱技术交流,代表公司参加全球微服务架构高峰论坛、QCon等技术沙龙。拥抱开源,多个项目开源在Github与Gitee上。业余时间参与贡献多个开源项目,例如Spring Cloud Netflix、Spring Cloud Alibaba、Spring Data、K8S等。

擅长领域: 集群,分布式架构设计与落地,微服务架构设计与落地,性能优化

主要负责课程部分: JVM性能优化,MySql性能优化,Tomcat性能优化,Linux性能优化

常见问题
内容概览
课程特色
技术体系
学习服务
课程大纲
讲师阵容
返回顶部

学习咨询

选课、学习遇到问题?
扫码添加指导老师 1V1 帮助你!

扫码加顾问老师 立即咨询

意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师