cloud-design-patterns

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Cloud 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

参考资料

ReferenceWhen to load
Reliability & Resilience PatternsAmbassador, Bulkhead, Circuit Breaker, Compensating Transaction, Retry, Health Endpoint Monitoring, Leader Election, Saga, Sequential Convoy
Performance PatternsAsync Request-Reply, Cache-Aside, CQRS, Index Table, Materialized View, Priority Queue, Queue-Based Load Leveling, Rate Limiting, Sharding, Throttling
Messaging & Integration PatternsChoreography, Claim Check, Competing Consumers, Messaging Bridge, Pipes and Filters, Publisher-Subscriber, Scheduler Agent Supervisor
Architecture & Design PatternsAnti-Corruption Layer, Backends for Frontends, Gateway Aggregation/Offloading/Routing, Sidecar, Strangler Fig
Deployment & Operational PatternsCompute Resource Consolidation, Deployment Stamps, External Configuration Store, Geode, Static Content Hosting
Security PatternsFederated Identity, Quarantine, Valet Key
Event-Driven Architecture PatternsEvent Sourcing
Best Practices & Pattern SelectionSelecting appropriate patterns, Well-Architected Framework alignment, documentation, monitoring
Azure Service MappingsCommon 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

模式类别概览

CategoryPatternsFocus
Reliability & Resilience9 patternsFault tolerance, self-healing, graceful degradation
Performance10 patternsCaching, scaling, load management, data optimization
Messaging & Integration7 patternsDecoupling, event-driven communication, workflow coordination
Architecture & Design7 patternsSystem boundaries, API gateways, migration strategies
Deployment & Operational5 patternsInfrastructure management, geo-distribution, configuration
Security3 patternsIdentity, access control, content validation
Event-Driven Architecture1 patternEvent sourcing and audit trails
类别模式数量核心关注点
可靠性与弹性9种模式容错、自我修复、优雅降级
性能10种模式缓存、扩缩容、负载管理、数据优化
消息与集成7种模式解耦、事件驱动通信、工作流协调
架构与设计7种模式系统边界、API网关、迁移策略
部署与运维5种模式基础设施管理、地理分布、配置
安全3种模式身份、访问控制、内容校验
事件驱动架构1种模式事件溯源与审计跟踪

External Links

外部链接