Java程序员进级架构师的核心技能图谱与最佳成长方案
【最近有工作内推机会】所有大型互联网系统都不是一撮而就的,首先我们会从项目初创期开始,带大家一起架构与开发一个完整的单体电商项目并发布上线。这是初创小公司业务发展初期最理想的架构形式。
第1周
架构初知与单体架构设计
想了解更多课程详情,请观看试看视频:https://class.imooc.com/trysee/index?c=javaarchitect&mid=28674
第2周
单体架构:分类,推荐,搜索,购物车开发
本周首先带大家分析电商首页需求,然后实现首页轮播图功能,分类功能,商品推荐功能,搜索功能,商品评价功能,最后带大家开发电商核心功能模块-购物车。
第3周
单体架构:地址,订单,支付,定时任务开发
本周首先带大家完成收获地址的开发,接着开发电商核心业务功能-订单,支付(微信支付,支付宝支付),最后带大家设计一个定时任务,实现定时关闭超期未支付订单功能。
第4周
单体架构:用户中心 ,订单/评价管理开发
本周首先带大家完成用户中心模块,之后一起完成订单管理,评价管理功能,完善中心首页, 通过本周的学习,我们已经完全有能力架构与开发任何一个单体的项目了。
随着用户访问量不断增加,单体负载越来越高,系统承载量可能会越发乏力,逐渐成为性能瓶颈;尤其单节点宕机会造成所有服务不可用,那我们该怎么办?我们可以尝试将我们的系统架构演变成一个高可用的集群架构。
第6周
集群架构:LVS+Nginx高可用集群
本周开始,我将从单体演进到集群,首先带大家学习Nginx,负载均衡等相关技术,之后带大家通过LVS+Keepalived+Nginx实现高可用服务器集群, 从而降低单节点负载压力。
第7周
集群架构:主从复制高可用Redis集群
本周首先会对Redis的架构与原理进行解析,之后整合Redis,实现Redis哨兵,搭建主从复制高可用Redis集群等,最后带大家解决缓存雪崩,穿透等问题。
第8周
集群架构:如何应对缓存雪崩,穿透
本周会帮大家分析缓存雪崩现象,然后为大家讲解缓存雪崩的解决方案,缓存穿透的解决方案,并且带大家一起落地解决对应的问题,最后为家拓展讲解Redis批量查询的优化设计。
在本阶段我们会学习到众多的分布式解决方案。比如:分布式缓存,分布式会话,分布式搜索引擎,分布式消息队列,分布式锁,读写分离、分库分表,分布式全局唯一主键ID、分布式事务和数据一致性,分布式接口幂等性,分布式限流等。
第10周
手把手带你快速搞定分布式搜索引擎ES
本周我们首先会以架构师角度分析目前搜索业务的弊端,之后由浅入深讲解ES,集成ES集群,优化商品搜索与分类搜索等功能,最后拓展2个案例让大家更加深入的理解ES。
第11周
手把手带你快速搞定分布式FastDFS
在分布式系统中,文件系统是必须被所有节点访问的,为了解决单体架构中文件服务的单一性问题,我们需要学习分布式文件存储(FastDFS、阿里OSS云存储)。
第12周
手把手带你快速搞定分布式RabbitMQ
本周首先会讲解业界主流消息队列技术选型,提升大家的技术判断能力,之后是SpringBoot与RabbitMQ整合,最后带大家进行RabbitMQ基础组件封装。一起感受代码设计魅力吧。
第14周
手把手带你快速搞定分布式锁
在高并发场景下资源共享问题是比较常见也是必须要解决的。本周我们就学习多种基于分布式锁的解决方案,对比它们各自的优缺点,最后大家可以根据自己项目实际情况进行选择。
第15周
手把手带你快速搞定读写分离、分库分表
随着系统数据量的增加,单体数据库存储性能问题日益凸显,本周我们就来学习2种数据源读写分离和分库分表的解决方案-MyCAT和Sharding-JDBC。
微服务有自己的利弊,需要更深入的掌握微服务技术才好更灵活的权衡利弊。1.如何做好服务登记工作?2.接口异常超时怎么破?3.如何对配置项进行中心化的管理?4.如何根据蛛丝马迹进行线上异常排查?
第20周
服务容错-Hystrix
服务异常是生产环境中再正常不过的情况,轻则一行error log,重则引发服务雪崩,把上下游的服务集群一波团灭。本周我们就来学习如果使用Hystrix处理服务调用异常。
第23周
服务调用链追踪、消息驱动
排查线上异常是我们的日常任务,其中最重要的方式就是根据日志信息按图索骥摸排线索,本周我们学习Sleuth+Zipkin+ELK实现日志打标收集和搜索展示。之后拓展组件Stream。
第24周
微服务下Sentinel流量防控卫兵
本周会手把手带大家学习一个高并发流量防护的利器-Sentinel,通过对Sentinel的学习和实践,让大家有能力解决你项目中的流控,降级等问题。
第25周
服务治理的另一条路 - Dubbo
本周属于拓展学习周,主要以图文的方式为大家拓展讲解Dubbo相关知识,希望通过本章的学习, 大家可以对基于RPC协议的服务治理有一个深刻的认知。
微服务改造后,服务数量激增,会遇到新的挑战,这时候容器技术就可以更加灵活的帮我们应对服务部署,服务编排,扩缩容等问题。让你免除系统宕机的压力,轻松实现高并发业务。
第27周
容器技术-Cloud Foundry
本周为大家讲解容器部署另一分支解决方案-Cloud Foundry, 从架构和功能介绍到容器生命周期管理、网络和数据服务;逐步向后续的容器编排延伸。
第30周
容器弹性扩缩容
本周为大家分享容器弹性扩缩容整体架构思路。我们会采用Cloud Foundry实现资源决策性弹性扩缩容; 采用Mesos+Marathon实现负载驱动型动态扩缩容;采用K8S增值插件实现全自由扩缩容。
高性能需求下,Netty怎么用?应用怎么监控与调优?JVM,MySQL,Tomcat,Linux,架构都怎么优化,技术方案的变化又会对性能产生怎样的影响,这些都是我们这个阶段要探讨的问题。
第31周
高性能网络通信基石-Netty入门与提高
很多开源产品都使用了Netty作为底层的通信基础,比如Rocketmq、Dubbo等,在工作中,对数据通信、数据同步的场景也经常会使用到,所以这周我们先入门与提高Netty。
第36周
应用监控与调优-技巧与实战篇
本周我们继续学习应用监控与调优,首先我们会学习到各种应用调优常用技巧,之后进阶并发编程4板斧,并实战线程池调优,Tomcat调优的多种方式,最后综合实战,加深理解。