课程预览

检测到您还没有关注慕课网服务号,无法接收课程更新通知。请扫描二维码即可绑定
重新观看

步骤1: 单体电商项目架构,开发与上线(1~5周)

所有大型互联网系统都不是一撮而就的,首先我们会从项目初创期开始,带大家一起架构与开发一个完整的单体电商项目并发布上线。这是初创小公司业务发展初期最理想的架构形式。

    第1课

    万丈高楼,地基首要

    在开始系统化成长之初,先从整体上认知大型互联网系统架构演变历程,明确架构师需要具备哪些技术栈与核心能力,之后开始筑基-单体开发。

    第2课

    分类,推荐,搜索,评价,购物车开发

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

    第3课

    地址,订单,支付,定时任务开发

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

    第4课

    用户中心 ,订单/评价管理开发

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

    第5课

    云服务器部署上线

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

步骤2: 从单体到高可用集群演进(6-8周)

随着用户访问量不断增加,单体负载越来越高,系统承载量可能会越发乏力,逐渐成为性能瓶颈;尤其单节点宕机会造成所有服务不可用,那我们该怎么办?我们可以尝试将我们的系统架构演变成一个高可用的集群架构。

    第1课

    LVS+Nginx实现高可用集群

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

    第2课

    主从复制高可用Redis集群

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

    第3课

    Redis缓存雪崩,穿透

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

步骤3: 分布式架构-逐个击破分布式核心问题(9-17周)

在本阶段我们会学习到众多的分布式解决方案。比如:分布式缓存,分布式会话,分布式搜索引擎,分布式消息队列,分布式锁,读写分离、分库分表,分布式全局唯一主键ID、分布式事务和数据一致性,分布式接口幂等性,分布式限流等。

    第1课

    分布式会话与单点登录SSO

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

    第2课

    分布式搜索引擎-ES

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

    第3课

    分布式文件系统-FastDFS+OSS

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

    第4课

    分布式消息队列-RabbitMQ

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

    第5课

    分布式消息队列-Kafka

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

    第6课

    分布式锁

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

    第7课

    读写分离、分库分表

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

    第8课

    分布式全局ID、分布式事务和数据一致性

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

    第9课

    分布式接口幂等性,分布式限流

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

步骤4: 基于SpringCloud改造微服务(18-25周)

微服务有自己的利弊,需要更深入的掌握微服务技术才好更灵活的权衡利弊。1.如何做好服务登记工作?2.接口异常超时怎么破?3.如何对配置项进行中心化的管理?4.如何根据蛛丝马迹进行线上异常排查?

    第1课

    微服务架构认知、服务治理-Eureka

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

    第2课

    负载均衡、服务通信与调用

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

    第3课

    服务容错-Hystrix

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

    第4课

    分布式配置中心-Config

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

    第5课

    消息总线、服务网关

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

    第6课

    服务调用链追踪、消息驱动

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

    第7课

    微服务下Sentinel流量防控卫兵

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

    第8课

    服务治理的另一条路 - Dubbo

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

步骤5: 服务容器化-Docker与K8S(26-30周)

微服务改造后,服务数量激增,会遇到新的挑战,这时候容器技术就可以更加灵活的帮我们应对服务部署,服务编排,扩缩容等问题。让你免除系统宕机的压力,轻松实现高并发业务。

    第1课

    服务容器化-Docker

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

    第2课

    容器技术-Cloud Foundry

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

    第3课

    容器编排-Mesos+ Marathon

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

    第4课

    容器编排-K8S

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

    第5课

    容器弹性扩缩容架构思路

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

步骤6: 高性能网络通信-Netty与性能调优(31~40周)

高性能需求下,Netty怎么用?应用怎么监控与调优?JVM,MySQL,Tomcat,Linux,架构都怎么优化,技术方案的变化又会对性能产生怎样的影响,这些都是我们这个阶段要探讨的问题。

    第1课

    高性能网络通信基石-Netty入门与提高

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

    第2课

    高性能网络通信基石-Netty最佳实战

    本周我们将带大家提升Netty实战能力,并掌握Netty在实际开发中的最近实践。 最后我们将对Netty进行性能调优。

    第3课

    基于Netty打造RPC通信框架-1

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

    第4课

    基于Netty打造RPC通信框架-2

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

    第5课

    应用监控与调优-工具篇

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

    第6课

    应用监控与调优-技巧与实战篇

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

    第7课

    JVM性能调优-工具篇

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

    第8课

    JVM性能调优-实战篇

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

    第9课

    数据库监控与调优

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

    第10课

    Linux调优与架构调优

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

Java架构师体系课:跟随千万级项目从0到100全过程高效成长

立即购买
¥6600.00
意见反馈 帮助中心 APP下载
官方微信