第1周
你真的理解什么是架构设计吗?
想了解更多课程详情,请观看试看视频:https://class.imooc.com/trysee/index?c=javaalmighty&mid=41873
课程安排:
【加餐】大厂资深HR教你如何准备简历和面试
1.软件架构定义和两派之争
2.站在巨人的肩膀上-大师们眼中的架构
3.软件架构的目的-做IT界的莫扎特
4.软件架构的发展阶段
5.软件架构意义-架构是项目干系人进行交流的手段
6.软件架构意义-架构是设计决策的体现
7.软件架构意义-架构明确系统设计约束条件
8.软件架构意义- 架构与组织结构-DevOps凤凰传奇
9.软件架构意义-架构有助于循序渐进的原型设计
10.软件架构意义-架构是可传递可复用的模型-OpenGroup架构认证
11.软件架构风格-数据流风格,调用/返回风格,独立构件风格,虚拟机风格,仓库风格
12.基于架构的软件开发-ABSD架构方法论
13.基于架构的软件开发-ABSD方法论具体实现
14.基于架构的软件开发- ABSD金融业案例
15.基于架构的软件开发- ABSD面试指导
16.基于特定领域的软件架构开发-DSSA领域分析
17.基于特定领域的软件架构开发-DSSA领域设计和实现
18.基于特定领域的软件架构开发-DSSA国际电商平台架构案例
19.基于特定领域的软件架构开发-DSSA面试指导
20.AT方法论、案例和面试与作业
【本周思考与讨论】
1.来聊一下你心目中的软件架构、架构设计和你平时的工作重点吧。
2.作为架构师,挑选一个你的实战项目,描述该应用架构如何随着组织架构的变化而演进的?
3.挑选一个项目,描述该项目中,你如何挑选、复用和剪裁合适的架构设计框架、设计模式、架构风格、软件包?
4.某公司承接了一个开发家用空调自动调温器的任务,调温器测量外部空气温度,根据设定的期望温度控制空调的开关。根据该需求,公司应采用架构风格最为合适?
5.某游戏公司欲开发一个大型多人即时战略游戏,游戏设计的目标之一是能够支持玩家自行创建战役地图,定义游戏对象的行为和之间的关系。针对该目标,公司应该采用架构风格最为合适?
6. 分享一个你用过的自顶向下的架构设计方法,对比一下和ABSD的思路有什么不同?在不同的场景下应该如何取舍更合适? 各位同学,要记得温故而知新,并且积极参与话题讨论,开拓思维。
第2周
高潜架构师都具备哪些核心能力?
本周为大家解析架构师核心能力,通过本周的学习大家对架构师会有更深刻的理解和认识,更好的规划自己的架构师成长路线,更快的成为优秀的架构师。
课程安排:
1.架构师的三观培养
2.架构师的九九八十一难
3.现实中的架构师 - 卖家秀
4.架构师路上走过的弯路
5.如何取长补短规划自己的架构师路线
6.冲锋陷阵-应用领域架构师
7.运筹帷幄-业务架构师
8.系统架构师&企业架构师
9.如何提升架构师个人视野-技术路线和演进规划
10.如何提升架构师个人视野-技术生态的思考
11.一线大厂的技术生态拓张案例分享
12.如何推进项目的执行与落地
13.如何拆解技术难点-三段论
14.天猫线的破局之道-双引擎回归测试框架
15.架构师的心理游戏-解决问题从转换思维开始\
16.阿里新零售部门如何培养技术团队的业务知识
17.如何围绕业务特点制定技术发展路线 - 阿里系和抖音案例
18.阿里系业务的供应链系统 - 如何评估子类业务的外包与采购
19.如何规划短中长期的技术架构路线图
20.如何规划面向未来的架构
21.如何修订路线图执行过程中的偏差
22.如何落地路线图-案例-阿里系糙快猛之下的敏捷模式
23.架构师核心能力面试指导与作业
【本周思考与讨论】
1.回顾你过去的工作,学习,思考你过去的职业规划路线和项目中的角色是否需要做相应的改变,来迎合你的长期职业发展目标。
2.回顾之前做过的项目,从中挑选出比较有代表性的例子,比如:a.你如何攻克了某些技术上的难点;b.遇到过哪些业务上的难点,你是如何把业务中的难点解决掉的?
3.复盘一下自己在复杂项目中的难点攻克过程,看看是否可以套用三段论,将这个解决问题的过程做一个升华。
4.假定自己是CEO,该如何制定自己公司的技术发展路线?
5.从当前自己在做的项目,业务出发,思考有哪些途径,技术手段,可以帮助团队提高业务效率?
6.熟悉面试的目标公司业务模式,竞对,路线 7.结合你公司的现有的业务,思考下该如何规划面向未来的架构?
第3周
不讲原则的架构师不是好架构师
本周带大家学习架构设计原则,包括:架构设计原则和规约,微服务的基本设计原则,希望通过本周的学习,让大家在平时的架构设计中可以有原则可依。
课程安排:
1.架构设计基本原则-开闭原则与单一原则
2.架构设计基本原则-依赖倒置和无环依赖原则
3.架构设计基本原则-迪米特原则与里式替换
4.接口隔离原则
5.架构设计基本原则-组合与聚合复用原则
6.如何设计高并发系统:局部并发原则
7.如何设计高并发系统:服务化与拆分
8.如何设计高并发系统:消息队列与数据异构
9.高可用系统有哪些设计原则、
10.保持简单轻量的架构 - DRY、KISS,YAGNI原则
11.如何设计组件间的交互和行为 - HCLC,CQS,SOC
12.框架层面的发展趋势 - 约定大于配置
13. 微服务应用的分层架构 - 阿里系应用内部模块分层
14.如何从不同维度对服务进行拆分
15.案例分析 - 阿里新零售业务的微服务拆分
16.如何理解微服务的无状态化
17.如何通过接口版本控制实现向后兼容、
18.可用性的保障手段 - 流量整形
19.如何设计网关层限流和分布式限流
20.案例分析 - 通过EDA事件驱动构建的实时账务系统、
21.如何设计微服务的数据一致性
22.架构设计原则面试指导与作业
第4周
如何衡量一个架构设计是好是坏?
本周带大家学习架构设计核心维度,包括:边界、内聚及耦合,扩展性,性能,可用性,安全性,伸缩性,希望通过本周的学习大家核心具备从各个维度思考架构设计的能力。
课程安排:
1.边界内聚耦合
2.聚焦内聚/关注耦合
3.如何实现高内聚低耦合
4.内聚耦合规划不当的反面教材集锦
5.扩展性核心方法论
6.架构扩展性-应用扩展/数据扩展
7.多快好省 - 扩展性实现方案
8.单体应用从数百节点到数万节点的扩展历程
9.高性能实现方案-缓存为王
10.高性能实现方案-异步为帅、分布式为将
11.割地赔款妥协方案&案例分析
12.本地高可用-集群、分布式
13.本地高可用- 数据逻辑保护
14.异地容灾-双活、两地三中心
15.异地容灾-DRP规划&BCP业务连续性\
16.多活和妥协方案/高可用流程
17.流程安全性/架构安全性
18.伸缩性维度和场景思路
19.无状态应用弹性伸缩
20.阿里云Knative弹性伸缩
21.有状态应用弹性伸缩
22. 面试指导与作业
第5周
如何快速设计一个架构?
本周我们一起进行架构设计实践,包括:架构设计要素,架构设计方法论与思维,架构图绘制,企业架构框架设计,希望通过本周的学习,加强大家的架构设计实践能力。
课程安排:
1.架构设计要素概述和规划
2.架构设计模式
3.架构设计输入/输出
4.架构设计方法论和思维概述和需求分析
5.需求分析实战
6.核心方法论-架构立方体
7.功能性模型-模块定义/模块关系图/模块细化
8.运行性模型-关注点和单元分解
9.运行性模型-架构转换
10.架构资产复用
11.架构验证/架构设计误区
12.架构图绘制-系统上下文
13.架构图绘制-用例模型/需求矩阵
14.架构图绘制-功能性架构视图
15.架构图绘制-数据架构视图
16.架构图绘制-运行部署单元
17.架构图绘制-应用逻辑运行模型
18.架构图绘制-逻辑/物理运行模型
19.架构图绘制-架构设计流程梳理
20.企业架构设计-SCN策略能力网络
21.企业架构设计-CBM基于模块的业务模型
22.企业架构设计-信息架构优先级分析
23.企业架构设计-技术架构三角模型
24.企业架构设计-策略差距雷达分析
25.企业架构设计-架构转型箭头分析
26.企业架构设计-航空公司转型实战
27.面试指导与作业
第6周
4大架构设计模式,带你领略架构设计精髓
本周带大家学习架构设计模式,包括:分层架构模式,eda 模式,微内核模式,生产者消费者模式,希望通过本周的学习,大家可以掌握这些架构设计模式,学以致用,应用到自己的工作中。
课程安排:
1.传统的三层架构(Three-Tier Architecture)
2.企业级应用分层架构模式
3.如何实现分层之理论指导-S.O.L.I.D原则
4.如何设计经典分层架构
5.前端流行的分层架构模型:mvp & mvc & mvvm
6.前后分离的分层架构模式:c/s & b/s 架构
7.代码公用抽象的分层模型
8.前后端分层架构BFF层
9.为何选择eda模式-优势(基于案例)
10.为何选择eda模式-劣势(基于案例)
11.eda模式的常见应用场景(结合案例)
12.如何实现eda模式
13.微内核模式的优点(结合案例)
14.如何实现微内核模式 - 基础架构模型
15.微内核的设计原则
16.微内核模式的常见场景 - OGSI 架构模式
17.微内核模式的常见场景 - 规则引擎架构
18.为什么选择生产者消费者模式(结合案例)
19.如何实现生产者消费者模式
20.生产者消费者的两种策略和应用场景
21.生产者消费者的两种模式、
22.生产者消费者的缺点
23.典型应用场景-数据迁移、日志监控
24.拉模式和推模式在消息中间件场景下的应用
25.架构设计模式面试指导与作业
第7周
不会评估,你就只能当一个PPT架构师
本周带大家一起学习架构设计评估,希望通过本周的学习,大家能对架构设计评估有更深入的理解。
课程安排:
1.软件架构的评估理论 - ATAM评估方法
2.软件架构的评估理论 - CMAM评估方法
3.服务监控指标和调优思路
4.淘系opensearch主搜-平台类产品的性能规划
5.新零售业务商品搜索的隐匿bug
6.线上压测和线下压测
7.负载测试与压力测试
8.如何构建稳定性测试控制图
9.新零售业务测试故障
10.如何确定最佳线程数
11.如何解决业务接口高RT的情况-Future和回调/异步编排
12.性能测试的手段 - 并发用户模式和RPS模式
13.双11全链路压测(上)- 仿真集群和数据工厂
14.双11全链路压测(下)- 测试标透传和测试场景
15.新零售业务商品详情页方案
16.阿里系业务容量规划
17.Tair集群部署与水位调配
18.阿里系容量精调-单机压测方案
19.阿里系混合部署技术
20.生产级限流维度和前端柔性方案
21. 如何制定线上应急预案
22. 如何提高三高系统的稳定性
23.线上异常的回退机制
24. 淘系技术的架构演化
25.推倒重来的新零售商品中心
26.淘系业务的技术演化
27.架构设计评估面试指导与作业