课程大纲

Distributed Systems 简介

  • 什么是分散式系统?
  • 常见挑战:延迟、一致性、可用性
  • 系统组件和沟通模型概述

可扩展性原则

  • 垂直扩展 vs. 水平扩展
  • 负载平衡与弹性
  • 存储、计算和I/O的扩展

架构模式

  • 客户端-服务器和多层架构
  • 面向服务和微服务架构
  • 事件驱动架构和消息队列

CAP定理与一致性模型

  • CAP定理解释
  • 强一致性 vs. 最终一致性
  • 在一致性和可用性之间做出选择

数据分布与存储策略

  • 分区和分片
  • 复制策略和法定读取/写入
  • 分散式数据库和键值存储

Communication 和 Distributed Systems 中的协调

  • REST, gRPC, 消息代理(如 Kafka, RabbitMQ)
  • 领导选举和分散式共识
  • 使用 Zookeeper 或 etcd 进行协调

容错与可靠性

  • 设计以应对故障和优雅降级
  • 重试机制、超时和断路器
  • 监控、可观察性和混沌工程

云原生与现代实施实践

  • 容器、编排和 Kubernetes
  • 无状态性和不可变性
  • 分散式系统安全的最佳实践

总结与下一步

要求

  • 了解基本的网络和系统设计概念
  • 具备一般软件开发的实践经验
  • 熟悉云计算和API设计者更佳

受众

  • 软件架构师和技术负责人
  • 后端工程师和DevOps专业人士
  • 构建可扩展云应用程序的系统设计师
 21 小时

客户评论 (5)

即将举行的公开课程

课程分类