cloud-design-patterns
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseCloud Design Patterns
云设计模式
Architects design workloads by integrating platform services, functionality, and code to meet both functional and nonfunctional requirements. To design effective workloads, you must understand these requirements and select topologies and methodologies that address the challenges of your workload's constraints. Cloud design patterns provide solutions to many common challenges.
System design heavily relies on established design patterns. You can design infrastructure, code, and distributed systems by using a combination of these patterns. These patterns are crucial for building reliable, highly secure, cost-optimized, operationally efficient, and high-performing applications in the cloud.
The following cloud design patterns are technology-agnostic, which makes them suitable for any distributed system. You can apply these patterns across Azure, other cloud platforms, on-premises setups, and hybrid environments.
架构师通过整合平台服务、功能与代码来设计工作负载,以同时满足功能性和非功能性需求。要设计出高效的工作负载,你必须理解这些需求,并选择能够应对工作负载约束带来的挑战的拓扑结构和方法论。云设计模式为诸多常见挑战提供了解决方案。
系统设计高度依赖成熟的设计模式。你可以结合使用这些模式来设计基础设施、代码和分布式系统。这些模式对于在云中构建可靠、高安全、成本优化、运维高效且高性能的应用至关重要。
以下云设计模式与技术无关,因此适用于任何分布式系统。你可以在Azure、其他云平台、本地部署环境以及混合环境中应用这些模式。
How Cloud Design Patterns Enhance the Design Process
云设计模式如何优化设计流程
Cloud workloads are vulnerable to the fallacies of distributed computing, which are common but incorrect assumptions about how distributed systems operate. Examples of these fallacies include:
- The network is reliable.
- Latency is zero.
- Bandwidth is infinite.
- The network is secure.
- Topology doesn't change.
- There's one administrator.
- Component versioning is simple.
- Observability implementation can be delayed.
These misconceptions can result in flawed workload designs. Design patterns don't eliminate these misconceptions but help raise awareness, provide compensation strategies, and provide mitigations. Each cloud design pattern has trade-offs. Focus on why you should choose a specific pattern instead of how to implement it.
云工作负载很容易陷入分布式计算的谬误,也就是关于分布式系统运行方式的常见错误假设,这些谬误包括:
- 网络是可靠的。
- 延迟为零。
- 带宽是无限的。
- 网络是安全的。
- 拓扑不会变化。
- 只有一个管理员。
- 组件版本管理很简单。
- 可观测性实现可以延后。
这些错误认知会导致工作负载设计存在缺陷。设计模式无法消除这些错误认知,但有助于提升相关意识、提供补偿策略和缓解方案。每种云设计模式都存在取舍,你需要重点关注选择特定模式的原因,而非如何实现它。
References
参考资料
| Reference | When to load |
|---|---|
| Reliability & Resilience Patterns | Ambassador, Bulkhead, Circuit Breaker, Compensating Transaction, Retry, Health Endpoint Monitoring, Leader Election, Saga, Sequential Convoy |
| Performance Patterns | Async Request-Reply, Cache-Aside, CQRS, Index Table, Materialized View, Priority Queue, Queue-Based Load Leveling, Rate Limiting, Sharding, Throttling |
| Messaging & Integration Patterns | Choreography, Claim Check, Competing Consumers, Messaging Bridge, Pipes and Filters, Publisher-Subscriber, Scheduler Agent Supervisor |
| Architecture & Design Patterns | Anti-Corruption Layer, Backends for Frontends, Gateway Aggregation/Offloading/Routing, Sidecar, Strangler Fig |
| Deployment & Operational Patterns | Compute Resource Consolidation, Deployment Stamps, External Configuration Store, Geode, Static Content Hosting |
| Security Patterns | Federated Identity, Quarantine, Valet Key |
| Event-Driven Architecture Patterns | Event Sourcing |
| Best Practices & Pattern Selection | Selecting appropriate patterns, Well-Architected Framework alignment, documentation, monitoring |
| Azure Service Mappings | Common Azure services for each pattern category |
| 参考内容 | 包含模式 |
|---|---|
| 可靠性与弹性模式 | 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 Framework对齐、文档、监控 |
| Azure服务映射 | 每个模式类别的常用Azure服务 |
Pattern Categories at a Glance
模式类别概览
| Category | Patterns | Focus |
|---|---|---|
| Reliability & Resilience | 9 patterns | Fault tolerance, self-healing, graceful degradation |
| Performance | 10 patterns | Caching, scaling, load management, data optimization |
| Messaging & Integration | 7 patterns | Decoupling, event-driven communication, workflow coordination |
| Architecture & Design | 7 patterns | System boundaries, API gateways, migration strategies |
| Deployment & Operational | 5 patterns | Infrastructure management, geo-distribution, configuration |
| Security | 3 patterns | Identity, access control, content validation |
| Event-Driven Architecture | 1 pattern | Event sourcing and audit trails |
| 类别 | 模式数量 | 核心关注点 |
|---|---|---|
| 可靠性与弹性 | 9种模式 | 容错、自我修复、优雅降级 |
| 性能 | 10种模式 | 缓存、扩缩容、负载管理、数据优化 |
| 消息与集成 | 7种模式 | 解耦、事件驱动通信、工作流协调 |
| 架构与设计 | 7种模式 | 系统边界、API网关、迁移策略 |
| 部署与运维 | 5种模式 | 基础设施管理、地理分布、配置 |
| 安全 | 3种模式 | 身份、访问控制、内容校验 |
| 事件驱动架构 | 1种模式 | 事件溯源与审计跟踪 |