Logo
☆☆☆☆☆
0.0
Beginner
12h

分布式系统:构建面向现实世界的应用软件

在本课程中,你将学习如何为现实世界中的复杂环境设计、构建和架构软件——尤其是分布式系统。你需要为那些行为不可预测、常常做出荒谬举动的用户做好准备。你的软件从发布那一刻起就会面临攻击。它必须能够抵御突发流量高峰带来的狂风骤雨,或应对由安全措施薄弱的物联网烤面包机引发的分布式拒绝服务(DDoS)攻击。你将深入分析那些未能经受住考验的失败软件案例,并找到确保你的软件能够在真实世界中稳定运行的方法。课程分为四个部分,每部分均以一个案例研究作为引子。 第一部分:构建稳定性——你将学习如何让系统持续运行,保障系统的高可用性。 第二部分:面向生产环境的设计——你将了解真正进入生产环境意味着什么。 第三部分:交付你的系统——你将关注部署过程。 第四部分:解决系统性问题——你将审视系统在其整个生命周期中作为整体信息生态系统一部分所面临的挑战。

21 Lessons
Included in Subscription Plan
Personalized Learning
Powered by AI
分布式系统:构建面向现实世界的应用软件
在本课程中,你将学习如何为现实世界中的复杂环境设计、构建和架构软件——尤其是分布式系统。你需要为那些行为不可预测、常常做出荒谬举动的用户做好准备。你的软件从发布那一刻起就会面临攻击。它必须能够抵御突发流量高峰带来的狂风骤雨,或应对由安全措施薄弱的物联网烤面包机引发的分布式拒绝服务(DDoS)攻击。你...

WHAT YOU'LL LEARN

理解系统架构和信息架构

Content

21 Lessons • 0 Quizzes • 0 Challenges

生产环境中的运行
  1. 1

    简介

  2. 2

    作用域与整体开发生命周期

  3. 3

    实用架构

  4. 4

    测验

一次异常导致航空公司停飞
  1. 1

    案例研究:一个异常导致航空公司停飞

  2. 2

    变更窗口

  3. 3

    故障

  4. 4

    后果

  5. 5

    事后分析

  6. 6

    寻找线索

  7. 7

    关键证据

  8. 8

    防患于未然

  9. 9

    测验

稳定你的系统
  1. 1

    现实世界问题

  2. 2

    定义稳定性

  3. 3

    扩展系统寿命

  4. 4

    失效模式

  5. 5

    阻止裂纹扩展

  6. 6

    失败链

  7. 7

    测验

稳定性反模式
  1. 1

    反模式

  2. 2

    集成点

  3. 3

    基于套接字的协议

  4. 4

    网络连接

  5. 5

    凌晨五点的问题

  6. 6

    TCP 与防火墙

  7. 7

    套接字连接失败

  8. 8

    HTTP 协议

  9. 9

    供应商API库

  10. 10

    应对集成点问题

  11. 11

    连锁反应

  12. 12

    避免失败

  13. 13

    测验

失败与阻塞
  1. 1

    级联故障

  2. 2

    用户

  3. 3

    堆内存

  4. 4

    套接字

  5. 5

    服务成本高昂

  6. 6

    非标准用户

  7. 7

    死锁与不良用户

  8. 8

    恶意用户

  9. 9

    阻塞的线程

  10. 10

    找出阻塞点

  11. 11

    库

  12. 12

    自我否定攻击

  13. 13

    避免自我否定

  14. 14

    扩展效应

  15. 15

    共享资源

  16. 16

    容量不平衡

  17. 17

    通过测试驱动开发

  18. 18

    Dogpile

  19. 19

    测验

力量倍增器
  1. 1

    故障放大

  2. 2

    控制与防护

  3. 3

    响应缓慢

  4. 4

    无界结果集

  5. 5

    无界结果集的原因

  6. 6

    测验

稳定性模式
  1. 1

    超时

  2. 2

    超时的副作用与延迟问题

  3. 3

    熔断器

  4. 4

    舱壁

  5. 5

    稳态

  6. 6

    数据清理

  7. 7

    日志文件

  8. 8

    快速失败

  9. 9

    让它崩溃

  10. 10

    握手

  11. 11

    测试框架

  12. 12

    关于测试框架和故障模式的更多内容

  13. 13

    中间件解耦

  14. 14

    卸载负载

  15. 15

    创建背压

  16. 16

    控制器(concept)

  17. 17

    测验

开设一个在线商店
  1. 1

    日历

  2. 2

    我的第一次假期负载测试

  3. 3

    把握脉搏

  4. 4

    感恩节和黑色星期五

  5. 5

    生命体征

  6. 6

    诊断测试

  7. 7

    比较选项

  8. 8

    测验

基础
  1. 1

    物理基础

  2. 2

    网卡和名称

  3. 3

    多网络编程

  4. 4

    数据中心中的虚拟机

  5. 5

    数据中心中的容器

  6. 6

    十二要素应用

  7. 7

    云中的虚拟机

  8. 8

    云中的容器

  9. 9

    测验

机器上的进程
  1. 1

    部署与运行视图

  2. 2

    代码

  3. 3

    配置

  4. 4

    透明度

  5. 5

    透明度设计

  6. 6

    使能技术与日志记录

  7. 7

    日志文件的可读性与神秘操作

  8. 8

    实例指标与健康检查

  9. 9

    测验

互连
  1. 1

    互连层

  2. 2

    使用 DNS 进行服务发现

  3. 3

    基于DNS的全局服务器负载均衡

  4. 4

    DNS 与负载均衡的可用性

  5. 5

    软件与硬件负载均衡

  6. 6

    健康检查

  7. 7

    需求控制

  8. 8

    防止灾难

  9. 9

    网络路由

  10. 10

    发现服务

  11. 11

    迁移虚拟IP地址

  12. 12

    测验

控制平面
  1. 1

    机械优势(checkpoint)

  2. 2

    系统故障,而非人为错误

  3. 3

    自动化进展非常迅速

  4. 4

    平台与生态系统

  5. 5

    开发即生产

  6. 6

    系统级透明性

  7. 7

    经济价值

  8. 8

    碎片化与日志/统计信息的风险

  9. 9

    要公开的内容

  10. 10

    配置服务

  11. 11

    资源供应与部署服务

  12. 12

    命令与控制

  13. 13

    平台参与者(concept)

  14. 14

    测验

安全
  1. 1

    安全漏洞

  2. 2

    身份验证与会话管理漏洞

  3. 3

    跨站脚本攻击

  4. 4

    访问控制失效

  5. 5

    安全配置错误

  6. 6

    敏感数据泄露

  7. 7

    跨站请求伪造

  8. 8

    最小权限原则

  9. 9

    配置的密码

  10. 10

    等待戈多

  11. 11

    测验

部署设计
  1. 1

    计划内停机

  2. 2

    自动化部署

  3. 3

    持续部署

  4. 4

    部署阶段

  5. 5

    关系数据库模式

  6. 6

    无模式数据库

  7. 7

    网页资源

  8. 8

    发布

  9. 9

    清理与部署,像专业人士一样

  10. 10

    测验

处理版本
  1. 1

    非中断性 API 变更

  2. 2

    文档与实际实现之间的差距

  3. 3

    API 的重大变更

  4. 4

    处理他人的版本

  5. 5

    测验

案例研究:被自己的顾客踩踏
  1. 1

    倒计时与发布(checkpoint)

  2. 2

    负载测试

  3. 3

    群氓之谋杀

  4. 4

    测试差距

  5. 5

    余波

  6. 6

    测验

适应
  1. 1

    凸性回报

  2. 2

    流程与组织

  3. 3

    平台团队

  4. 4

    无痛发布

  5. 5

    服务消亡

  6. 6

    团队级自主

  7. 7

    注意效率

  8. 8

    测验

系统架构
  1. 1

    演进式架构

  2. 2

    松散集群

  3. 3

    显式上下文

  4. 4

    创建选项

  5. 5

    拆分

  6. 6

    融入变更

  7. 7

    测验

信息架构
  1. 1

    数据库

  2. 2

    消息、事件和命令

  3. 3

    服务管理其标识符

  4. 4

    URL 双重性

  5. 5

    拥抱多样性

  6. 6

    测验

混沌工程
  1. 1

    生产环境问题

  2. 2

    混沌工程的先决条件

  3. 3

    猩猩军团

  4. 4

    采用你自己的猴子

  5. 5

    注入混沌

  6. 6

    聚焦混乱

  7. 7

    灾难模拟

  8. 8

    测验

参考文献
  1. 1

    参考文献

Certificate of Completion

Showcase your accomplishment by sharing your certificate of completion.

Course Author:Anonymous User

Reviews

Read reviews from students who have taken this course and share your own experience.

Reviews & Comments (0)