〖课程介绍〗:

  • 成为技术团队领路人 —— 架构师的职业未来
  • 希望进阶优秀架构师的你,是否面临以下问题?
  • 15 年经验首席架构师,手把手带你实现职场进阶
  • 李智慧老师现任某大厂首席架构师,他是 Apache Spark 源码贡献者,长期从事大型网站架构、大数据的研发工作,曾担任阿里巴巴技术专家、Intel 亚太研发中心架构师、WiFi 万能钥匙 CTO ,著有畅销书《大型网站技术架构:核心原理与案例分析》。
  • 李智慧老师不仅实战经验丰富,并且还很会讲课,有超过 6 年的线下咨询、企业架构内训经验,曾经作为外聘教师为浙江大学硕士研究生开展《面向对象高级编程》课程,备受好评。老师出品了极客时间《从 0 开始学大数据》《后端技术面试 38 讲》,目前已有 2w+ 学员加入。

【网盘截图】

〖课程目录〗:

  • 架构方法:架构师如何做架构
  • 教学目标
  1. 了解架构训练营的课程设计思路及内容综述。
  2. 对架构师以及架构工作有一个深入透彻的理解。
  3. 学习软件架构建模的一般方法和工具。
  4. 学习软件架构设计文档的写作模式。
  • 架构工作中的痛点
  1. 缺乏全局性思维能力。
  2. 缺乏超越普通开发者的视野和格局。
  3. 缺乏知识的全面性。
  4. 对软件开发本质和挑战缺乏理解。
  5. 缺乏做一个完整的软件架构的方法,不知道该从何下手做架构设计。
  6. 缺乏软件建模的能力与技巧,不会灵活应用 UML 进行软件设计。
  7. 无法通过设计文档清晰阐述自己的设计思想和方案。
  8. 不清楚技术架构和技术团队管理的关系。
  • 通过学习掌握的核心能力
  1. 对架构工作有一个正确、透彻的理解,开拓视野。
  2. 使用 UML 进行软件设计与建模的能力。
  3. 软件设计文档的写法与应用。
  • 详细内容
  1. 架构师职责:架构工作中都要面临哪些方面的难题?
  2. 架构师面试:大厂 Offer 该如何获取?
  3. 架构概论:你能描述清楚软件架构与架构吗?
  4. 4+1视图模型:软件开发的本质是什么?如何进行软件架构设计?
  5. 软件建模语言:如何使用 UML 进行软件架构设计与建模?
  6. 软件设计文档:架构师应该如何输出自己的架构设计?
  7. 案例:我如何利用 UML 成为软件架构师?
  • 框架设计:开发框架是架构师实现自己架构目标的主要手段
  • 教学目标
  1. 掌握软件设计的基本原则。
  2. 了解框架、工具、组件等概念的区别于应用方式。
  3. 掌握开发框架的一般思路与方法。
  • 架构工作中的痛点
  1. 架构师如何建立自己的技术威信,让技术人员都听他的。
  2. 架构师如何掌控软件的架构,保证几十、数百人共同开发的软件不会陷入混乱。
  • 通过学习掌握的核心能力
  1. 开发一个软件框架的方法、思想、步骤和技巧。
  2. 软件设计原则的理解与应用能力。
  • 详细内容
  1. 软件开发简史:你还在用面向对象编程语言写面向过程的代码吗?
  2. 框架概述:什么是软件框架,如何开发一个软件框架?
  3. 开闭原则:如何不修改代码却能实现需求变更?
  4. 依赖倒置原则:如何不调用代码却能复用代码的功能?
  5. 其他软件设计原则:如何用好多态特性设计优雅的软件架构?
  6. 案例:反应式编程框架 Flower 的设计案例分析。
  • 代码重构:代码重构能力是架构师最基本的能力
  • 教学目标
  1. 掌握常用软件设计模式
  2. 了解常用开源软件中的设计模式
  • 架构工作中的痛点
  1. 架构师应该写什么样的代码?
  2. 架构师如何指导工程师开发优雅的代码?
  3. 什么样的情况下该进行代码重构了?
  4. 架构师如何组织研发团队进行代码重构?
  • 通过学习掌握的核心能力
  1. 灵活应用设计模式的能力
  2. 利用设计模式重构代码的能力
  • 详细内容
  1. 代码腐坏:糟糕的代码会带来什么样的烦恼?
  2. 设计模式基础:如何使用设计模式优化代码?
  3. 案例:JUnit 的设计模式分析:为什么说 JUnit 是设计模式样本?
  4. 案例:Spring 中的设计模式分析:设计模式的高级玩法有哪些?
  5. 案例:我在 Intel 开发的大数据仓库引擎 Panthera 设计模式分析:设计模式如何拯救我的工作?
  • 系统架构:系统架构知识是架构师的常识而不是能力
  • 教学目标
  1. 理解高并发系统的历史演化过程
  2. 理解高并发系统的架构模式
  3. 理解高并发系统架构的常用技术解决方案
  • 架构工作中的痛点
  1. 对大规模高并发系统的整体架构缺乏宏观的认知
  2. 对大规模高并发系统的技术挑战缺乏直观认知和知识背景
  • 通过学习掌握的核心能力
  1. 使高并发系统架构知识成为自己的常识,并本能地应用到自己的架构实践中。
  2. 训练系统架构设计时平衡选择技术方案的能力。
  • 详细内容
  1. 系统架构概述:高并发系统架构面临怎样的挑战?
  2. 系统架构体系:高并发系统经历了怎样的演化历程?
  3. 系统架构模式概述:系统架构设计需要关注哪些方面?
  4. 分布式技术体系:一个大规模分布式系统架构包含了哪些技术?
  5. 案例:维基百科架构设计案例分析:20人团队如何开发、运维全球第六大互联网站?
  6. 案例:淘宝架构演化案例分析:为什么说淘宝最初也很 low?
  • 技术选型:技术选型能力反映了架构师的综合水平
  • 教学目标
  1. 掌握常用分布式技术的架构原理
  2. 理解各种分布式技术的优缺点
  3. 理解常用分布式技术的产品特点与选型依据
  • 架构工作中的痛点
  1. 对于常用的分布式技术只知道怎么用,却不理解其内部技术原理。
  2. 每种分布式技术都有很多产品技术方案,不知道该如何选型。
  • 通过学习掌握的核心能力
  1. 针对不同业务场景,选择合适技术方案的能力,以及在技术方案之中,选择合适产品的能力
  2. 超越缓存、消息队列、负载均衡、数据分库分片、NoSQL、搜索引擎等各种分布式技术会用的阶段,理解其内部原理,达到可以优化、修改其代码的能力,必要时,可自己开发同类产品的能力
  • 详细内容
  1. 分布式缓存架构:为什么说缓存是改善性能的杀手锏?
  2. 消息队列架构:如何避免系统故障传递?
  3. 负载均衡架构:如何用十行代码写一个负载均衡服务器?
  4. 分布式关系数据库架构?数据库分库、分片有什么区别?
  5. NoSQL 数据库架构?NoSQL 数据库当初是怎么火起来的?
  6. 分布式锁架构:ZooKeeper 是如何实现分布式强一致性的?
  7. 搜索引擎架构:为什么说成功的架构必须要把握住细节?
  8. 案例:我在阿里巴巴开发 NoSQL 系统 Doris 的设计案例分析:在互联网大厂开发基础技术产品是什么体验?
  • 性能优化:性能优化是架构师展现自己技术全面性的时刻
  • 教学目标
  1. 理解主要性能指标的意义
  2. 了解性能测试的关键过程
  3. 掌握一般性能分析方法和性能优化的思考策略
  4. 理解基础技术背后的原理及其对性能的影响
  • 架构工作中的痛点
  1. 遇到性能问题无从下手,无法量化性能问题的严重程度,也无法衡量优化后的效果。
  2. 解决性能问题没有系统、全面的解决办法,只能刻舟求剑套用别人有限的技术方案,解决问题主要靠运气。
  3. 基本功不扎实,操作系统、文件系统、网络通信、数据库各种基础设施对性能的影响一知半解,解决问题的时候各种混乱。
  • 通过学习掌握的核心能力
  1. 全面掌握系统性能度量标准,性能测试方法的能力。
  2. 全面分析系统性能以及解决对策的能力。
  3. 融会贯通各种基础技术对性能影响的能力。
  • 详细内容
  1. 系统性能的主要技术指标:什么情况下性能指标好的系统反而感觉更慢?
  2. 系统性能测试与分析:架构师如何在省钱与不出事之间走钢丝?
  3. 操作系统与程序运行时性能分析:程序是如何运行又是如何崩溃的?
  4. 数据结构与内存对象访问性能分析:程序中如何选择合适的数据结构?
  5. 文件 I/O 性能优化与分析:给你十万块硬盘,你打算怎么用?
  6. TCP/IP 协议分析与网络 I/O 优化:互联网应用一次请求响应涉及哪些网络通信?
  7. 数据库原理与 SQL 性能分析:应用程序提交 SQL 为什么要用预编译?
  8. JVM 虚拟机原理与垃圾回收性能分析:Java 垃圾回收为什么那么慢?
  9. 大规模分布式系统性能优化的7层协议及案例分析:性能优化该从何着手?
  10. 案例:阿里巴巴秒杀系统架构设计案例分析:架构师如何应对突发的访问高峰?
  • 模块分解:模块分解能力是架构师最核心的经验与优势
  • 教学目标
  1. 了解微服务架构的核心关键和挑战
  2. 掌握微服务架构最佳实践方案
  3. 掌握微服务框架及 RCP 框架设计方法
  4. 了解领域模型设计方法
  • 架构工作中的痛点
  1. 想要上微服务,却不知该从何下手。
  2. 上了微服务,系统变得更加难以维护,不知道哪里出了问题。
  3. 实现业务就是 CRUD,一点技术含量没有,不知道该如何突破和提高。
  • 通过学习掌握的核心能力
  1. 真正掌控微服务架构的设计能力。
  2. 领域分析和设计的能力。
  3. 微服务框架、RPC 框架设计、开发能力。
  • 详细内容
  1. 微服务架构:为什么现在微服务架构现在遇到这么多的失败和困难?
  2. 模块分解的设计原则:模块的边界在哪里?
  3. 微服务框架 Dubbo 设计原理与 RPC 实现分析:如何开发自己的微服务框架?
  4. 领域驱动设计:架构师如何才能越老越吃香?
  5. ServiceMesh 架构、中台架构、事件驱动架构与网关架构:如何实现系统可扩展?
  • 安全稳定:系统安全稳定高可用是架构师最主要的 KPI
  • 教学目标
  1. 了解系统高可用的度量标准及故障管理方法
  2. 掌握高可用设计的主要方法与实现原理
  3. 掌握常见系统攻击手段与防护策略
  • 架构工作中的痛点
  1. 系统经常出故障、不稳定,不知道是哪里的问题。
  2. 解决系统可用性问题,东一下、西一下,没有完整的解决思路和方案。
  3. 不知道该如何保障系统安全性。
  • 通过学习掌握的核心能力
  1. 系统设计时,全面考虑实现高可用的架构能力。
  2. 系统故障时,全面分析故障原因,并解决可用性问题的能力。
  3. 安全性架构原理与思路。
  • 详细内容
  1. 高可用系统的度量标准:如何通过 KPI 提高系统可用性?
  2. 系统高可用架构方案:架构师如何避免因为系统崩溃而半夜加班?
  3. 系统高可用运维:如何避免系统发布引起故障?
  4. 系统安全架构:架构师如何避免因数据泄密而背锅?
  • 数据应用:会用数据的架构师可以超越开发及架构
  • 教学目标
  1. 掌握 Hadoop 大数据技术原理与应用
  2. 掌握 Spark 技术原理与应用
  3. 掌握 Flink 等大数据流计算原理与应用
  4. 掌握 Hive 等大数据仓库原理与应用的能力
  5. 掌握数据分析的原理与应用
  6. 掌握数据挖掘与机器学习的原理与应用
  • 架构工作中的痛点
  1. 对大数据略知一二,不成体系也无法在实践中应用。
  2. 技术架构成熟的公司环境中,如何寻找个人新的成长点与职业发展机会。
  • 通过学习掌握的核心能力
  1. 大数据开发与应用的能力。
  2. 利用数据,发现新商业价值的能力。
  • 详细内容
  1. 大数据原理概述:大数据有什么用?
  2. 分布式文件系统 HDFS:如何存储数百 T 的数据?
  3. 大数据计算框架 MapReduce:架构师应该有能力自己实现 MapReduce 计算框架。
  4. 大数据集群资源管理系统 Yarn:为什么说 Yarn 也是一个框架?
  5. 大数据仓库 Hive:SQL 如何转化为 MapReduce 计算?
  6. 快速大数据引擎 Spark:Spark 为什么比 MapReduce 快那么多?
  7. 流式大数据 Flink、Storm、Spark Streaming:大数据技术是一脉相承的。
  8. 大数据分析:产品运营好不好,数据全知道。
  9. 数据挖掘:如何从数据中发现规律?
  10. 机器学习:机器学习和数学的关系是什么?
  11. 案例:一个利用数据分析发现运营异常的案例分析。
  12. 案例:Spark 源码性能优化分析案例分析。
  • 技术创新:创新让架构师保持职业发展之路长盛不衰
  • 教学目标
  1. 了解创新在架构师职业生涯中的重要作用
  2. 理解区块链技术架构原理与典型应用场景
  3. 理解物联网技术架构原理与典型应用场景
  4. 掌握基于大数据的 AI 平台架构设计方案
  5. 了解 5G 技术原理与应用场景
  • 架构工作中的痛点
  1. 多年架构师遇到职业发展瓶颈,如何成长与突破。
  2. 如何在自己的工作中应用区块链、AI、物联网、5G 这些新技术,在未来的技术发展中引领潮流。
  • 通过学习掌握的核心能力
  1. 培养自己对新技术的技术敏感性,获得快速学习新技术的技巧和方法论。
  2. 应用区块链、AI、物联网、5G 这些新技术的能力。
  • 详细内容
  1. 大数据与 AI 平台:大数据的计算结果如何响应给用户?
  2. 区块链技术:为什么说区块链将颠覆生产关系?
  3. 物联网技术:无限可能的物联网。
  4. 5G 技术:5G 真的有那么大价值吗?
  5. 案例:我在区块链、大数据等方面的一些技术创新案例分享。
  • 技术管理:管理也是架构师的职责
  • 教学目标
  1. 掌握管理学与组织行为学的一般原理
  2. 掌握架构师解决问题的思路和技巧
  3. 了解技术成长的一般规律和最佳实践
  • 架构工作中的痛点
  1. 架构师也需要带团队,但是对管理发憷,心里没底。
  2. 架构师要跟很多人打交道,协调很多的关系,自己不善沟通,很多事情搞得事与愿违。
  • 通过学习掌握的核心能力
  1. 技术管理的基本技能
  2. 人际沟通的核心技巧
  • 详细内容
  1. 如何成为优秀的架构师:架构师的职业发展路径是什么?
  2. 成为技术管理者:技术管理者和传统管理者有什么区别?
  3. 技术沟通之道:你真的知道自己要解决的问题是什么吗?
  4. 案例:我做 CTO 的一些经验和心得。