SKILL.md
只读
名称
cloud-design-patterns
描述
分布式系统架构的云设计模式,涵盖可靠性、性能、消息传递、安全性和部署等 5 大类共 42 种行业标准设计模式。适用于设计、评审或实现分布式系统架构等场景。
云设计模式 (Cloud Design Patterns)
架构师在设计工作负载时,需要通过整合平台服务、功能模块和业务代码,来同时满足功能性与非功能性需求。要设计出高效的工作负载,必须深入理解这些需求,并在受限的约束条件中选择合适的架构拓扑与设计方法。云设计模式为许多常见难题提供了成熟的解决方案。
系统设计高度依赖于成熟的设计模式。你可以结合使用这些模式来设计基础设施、代码以及分布式系统。对于在云端构建高可靠、高安全、成本优化、高效运维且高性能的应用而言,这些模式至关重要。
以下云设计模式与具体技术无关,适用于任何分布式系统。无论是在 Azure、其他云平台、本地私有云还是混合云环境中,你都可以灵活应用这些模式。
云设计模式如何优化设计流程
云工作负载很容易陷入分布式计算的误区(Fallacies of Distributed Computing)——即对分布式系统运行机制做出的常见但错误的假设。例如:
- 网络是可靠的。
- 延迟为零。
- 带宽是无限的。
- 网络是安全的。
- 拓扑结构不会改变。
- 只有一个管理员。
- 组件版本控制很简单。
- 可观测性可以以后再做。
这些误区会导致工作负载设计出现缺陷。设计模式虽不能彻底消除这些误区,但有助于提高风险意识,并提供补偿策略与缓解方案。每种云设计模式都存在权衡(Trade-off)。应当将重点放在为什么选择某种特定模式,而不是具体的实现细节上。
参考指南
| 参考文档 | 何时加载 |
|---|---|
| 可靠性与韧性模式 | Ambassador, Bulkhead, Circuit Breaker, Compensating Transaction, Retry, Health Endpoint Monitoring, Leader Election, Saga, Sequential Convoy |
| 性能模式 | Async Request-Reply, Cache-Aside, CQRS, Index Table, Materialized View, Priority Queue, Queue-Based Load Leveling, Rate Limiting, Sharding, Throttling |
| 消息传递与集成模式 | Choreography, Claim Check, Competing Consumers, Messaging Bridge, Pipes and Filters, Publisher-Subscriber, Scheduler Agent Supervisor |
| 架构与设计模式 | Anti-Corruption Layer, Backends for Frontends, Gateway Aggregation/Offloading/Routing, Sidecar, Strangler Fig |
| 部署与运维模式 | Compute Resource Consolidation, Deployment Stamps, External Configuration Store, Geode, Static Content Hosting |
| 安全模式 | Federated Identity, Quarantine, Valet Key |
| 事件驱动架构模式 | Event Sourcing |
| 最佳实践与模式选择 | 选择合适的模式、对齐 Well-Architected 架构框架、文档编写、监控 |
| Azure 服务映射 | 各模式分类对应的常用 Azure 服务 |
模式分类速览
| 分类 | 模式数量 | 核心关注点 |
|---|---|---|
| 可靠性与韧性 | 9 种模式 | 容错、自愈、优雅降级 |
| 性能 | 10 种模式 | 缓存、弹性扩缩容、负载管理、数据优化 |
| 消息传递与集成 | 7 种模式 | 解耦、事件驱动通信、工作流协调 |
| 架构与设计 | 7 种模式 | 系统边界、API 网关、演进迁移策略 |
| 部署与运维 | 5 种模式 | 基础设施管理、多地域部署、配置管理 |
| 安全 | 3 种模式 | 身份认证、访问控制、内容校验 |
| 事件驱动架构 | 1 种模式 | 事件溯源与审计日志 |






