课程内容
课程对象
具有以下经验的 架构师,后端开发工程师,以及其他软件从业人员
具有基础的架构设计知识
可以熟练掌握的面向对象程序设计能力
具有三年或以上的业务系统开发经验
课程大纲
Day1 |
| 一、 软件复杂度 软件复杂度的三个成因 分离关注点 – Unix设计哲学 隔离业务复杂度与技术复杂度 复杂度的横切与纵切
|
| 二、 演进中的架构 服务架构演进史 原始分布式时代 单体系统时代 SOA 时代 微服务时代 后微服务时代 无服务时代
|
| 三、 分布式系统构建块:远程服务调用 远程服务调用 进程间通信 通信的成本 三个基本问题 统一的 RPC 分裂的 RPC REST 设计风格 理解 REST RESTful 的系统 RMM 成熟度 不足与争议
|
| 四、 分布式系统构建块:事务处理 本地事务 实现原子性和持久性 实现隔离性 全局事务 共享事务 分布式事务 CAP 与 ACID 可靠事件队列 TCC 事务 SAGA 事务
|
| 五、 分布式系统构建块:透明多级分流系统 客户端缓存 强制缓存 协商缓存 域名解析 传输链路 连接数优化 传输压缩 快速 UDP 网络连接 CDN 路由解析 内容分发 CDN 应用 负载均衡 数据链路层负载均衡 网络层负载均衡 应用层负载均衡 均衡策略与实现 服务端缓存 缓存属性 缓存风险
|
| 六、 分布式系统构建块:安全性 认证 认证的标准 认证的实现 授权 RBAC OAuth2 凭证 Cookie-Session JWT 保密 保密的强度 客户端加密 密码存储和验证 传输 摘要、加密与签名 数字证书 传输安全层 验证
|
Day2 |
| 七、 分布式系统构建块:服务的注册与发现 服务发现 服务发现的意义 可用与可靠 注册中心实现 网关路由 网关的职责 网络 I/O 模型 BFF 网关 客户端负载均衡 客户端负载均衡器 代理负载均衡器 地域与区域
|
| 八、 分布式系统构建块:流量治理 服务容错 容错策略 容错设计模式 案例:微服务架构的故障隔离及容错处理机制 流量控制 流量统计指标 限流设计模式 分布式限流
|
| 九、 分布式系统构建块:可靠通讯 零信任网络 零信任安全模型的特征 Google 的实践探索 服务安全 建立信任 认证 授权
|
| 十、 分布式系统构建块:可观测性 事件日志 输出 收集与缓冲 加工与聚合 存储与查询 链路追踪 追踪与跨度 数据收集 追踪规范化 聚合度量 指标收集 存储查询 监控预警 案例:某银行统一日志平台介绍
|
| 十一、 分布式系统构建块:虚拟化容器 容器的崛起 隔离文件:chroot 隔离访问:namespaces 隔离资源:cgroups 封装系统:LXC 封装应用:Docker 封装集群:Kubernetes 以容器构建系统 隔离与协作 韧性与弹性 以应用为中心的封装
|