4006-998-758
3000+课程任你选择
System Analysis Design
研发学院 System Analysis Design 开课时间:2024-02-07
戴昊

现任创业AI公司研发技术总监负责带领团队研发计算机视觉、AI安防及大数据相关产品。15年+ 大型软件产品架构经验。曾为日本第一,世界第二的瑞穗银行(Mizuho Bank);世界第二大证券交易所 – 东京证券,五十铃汽车开发企业级系统。曾给深圳证券交易所,深圳证券,招商银行信用卡中心,平安金融,中国电信,DELL 讲授过企业级架构及重构与模式的课程。擅长企业级系统架构,领域驱动设计,重构与模式。


查看老师详情
课程内容

课程对象

具有以下经验的 架构师,后端开发工程师,以及其他软件从业人员

具有基础的架构设计知识

可以熟练掌握的面向对象程序设计能力

具有三年或以上的业务系统开发经验


课程大纲

Day1


一、           软件复杂度

  1. 软件复杂度的三个成因

  2. 使用分而治之的方法处理规模问题

  3. 使用技术与业务相分离的方法处理结构问题

  4. 使用“只被第一颗子弹击中”的原则处理变化的问题

  5. 分离关注点        – Unix设计哲学

  6. 隔离业务复杂度与技术复杂度

  7. 复杂度的横切与纵切


二、           演进中的架构

  1. 服务架构演进史

  2. 原始分布式时代

  3. 单体系统时代

  4. SOA 时代

  5. 微服务时代

  6. 后微服务(云原生)时代

  7. 无服务时代


三、           服务的注册与发现

  1. 服务发现的意义

  2. 注册中心实现

  3. 网关路由

  4. 网关的职责

  5. 网络 I/O 模型

  6. BFF 网关

  7. 客户端负载均衡

  8. 客户端负载均衡器

  9. 代理负载均衡器


四、           分布式系统构建块:事务处理

  1. 本地事务

  2. 实现原子性和持久性

  3. 实现隔离性

  4. 全局事务

  5. 共享事务

  6. 分布式事务

  7. CAP 与 ACID

  8. 可靠事件队列

  9. TCC 事务

  10. SAGA 事务


五、           高并发设计:透明多级分流系统

  1. 客户端缓存

  2. 域名解析

  3. 传输链路优化

  4. CDN与内容分发

  5. 数据链路层负载均衡

  6. 网络层负载均衡

  7. 应用层负载均衡

  8. 均衡策略与实现

  9. 服务端缓存

  10. 缓存属性

  11. 缓存风险


六、           高可用设计:流量治理

  1. 服务容错

  2. 容错策略

  3. 容错设计模式

  4. 案例:微服务架构的故障隔离及容错处理机制

  5. 流量控制

  6. 流量统计指标

  7. 限流设计模式

  8. 分布式限流


七、           分布式系统构建块:安全性

  1. 认证的标准与实现

  2. 授权:RBAC / OAuth2

  3. 凭证:Cookie-Session / JWT

  4. 保密的强度

  5. 客户端加密

  6. 密码存储和验证

  7. 传输安全性

  8. 摘要、加密与签名

  9. 数字证书


八、           系统设计案例:URL短链接服务

  1. 短链跳转主要原理

  2. URL 短链设计的需求

  3. 系统容量预估

  4. 架构与API设计

  5. 算法详细设计

  6. 数据持久化设计

  7. 系统性能扩展

  8. 高可用设计

  9. 服务限流与降级设计




返回上一级