系统设计的核心原则

Last reviewed 2023-08-05 UTC

Google Cloud 架构框架中的文档介绍了系统设计的核心原则。强大的系统设计安全、可靠、可伸缩且独立。它可让您在不中断系统的情况下进行迭代和可撤消的更改,最大限度地降低潜在风险,并提高运营效率。为了实现强大的系统设计,我们建议您遵循四个核心原则。

记录所有要素

当您开始将工作负载迁移到云或构建应用时,取得成功的主要阻碍是缺少有关系统的文档。文档对于正确直观呈现当前部署的架构尤为重要。

适当进行文档说明的云架构可以设定通用语言和标准,使跨职能团队能够有效沟通和协作。此外,它还提供确定和指导未来设计决策所需的信息。文档应该根据您的用例编写,以便为设计决策提供具体情境。

设计决策会随着时间的推移而不断改进和变化。更改历史记录可提供您的团队调整计划、避免重复以及有效衡量性能随时间变化所需的情境。如果您是新入职的云架构师,尚不熟悉当前系统设计、策略或历史记录,则更新日志尤为有用。

简化设计并使用全代管式服务

简洁性对系统设计至关重要。如果您的架构过于复杂,难以理解,则随着时间的推移,将很难实现和管理设计。在可行的情况下,使用全代管式服务来最大限度地减少与管理和维护基准系统相关的风险、时间和工作量。

如果您已经在生产环境中运行工作负载,则使用代管式服务进行测试,以了解这些服务如何帮助降低运营复杂性。如果您要开发新的工作负载,请先从简单开始,开发最简可行产品 (MVP),并抵御过度工程的冲动。您可以确定异常的用例,反复迭代并随着时间的推移逐步改进系统。

分离您的架构

分离是一种用于将应用和服务组件分成可以独立运行的较小组件的技术。例如,您可以将单体式应用栈拆分为单独的服务组件。在分离式架构中,应用可以独立运行其功能,而无需考虑各种依赖项。

分离式架构可让您更加灵活地执行以下操作:

  • 应用独立的升级。
  • 实施特定的安全控制措施。
  • 为每个子系统设定可靠性目标。
  • 监控健康状况。
  • 精细地控制性能和费用参数。

您可以在设计阶段的早期开始分离,或者在扩容时将其纳入系统升级。

使用无状态架构

无状态架构可以提高应用的可靠性和可伸缩性。

有状态应用依赖各种依赖项来执行任务,例如本地缓存的数据。有状态应用通常需要额外的机制来捕获进度并正常重启。无状态应用可以使用共享存储空间或缓存服务来执行任务,而无需大量本地依赖项。无状态架构使您的应用能够以最少的启动依赖项快速扩容。应用可以承受住硬重启,缩短停机时间,并为最终用户提供更好的性能。

系统设计类别介绍了使应用无状态或利用云原生功能来改善有状态应用的捕获机器状态的相关建议。

后续步骤