需要重点关注系统的使用方式以及系统
Posted: Sun Mar 23, 2025 8:47 am
然而,可扩展的设计并不是万能的;如果实施不当,它可能会引入新的问题和复杂性。团队需要了解可扩展性的工作原理,并具备实际构建架构的技能。否则,你最终会制造出比解决方案更多的问题。 可伸缩性设计原则 设计决策需要支持哪些类型的工作负载。在追求可扩展性时,需要牢记以下一些关键设计原则: 解耦组件——在设计系统时,尽量将其组件解耦。
这样可以更轻松地独立扩展系统的各个部分。例如,在 Web 前端和秘鲁资源后端数据库之间使用消息队列可以帮助解耦这两个组件,允许它们在需要时单独扩展。 并行化工作– 尽可能将工作分解为可以并行处理的较小部分。这有助于提高性能,并允许系统更好地利用多个核心或处理器。例如,MapReduce 是一种常用于并行数据处理任务(如大规模日志分析或图像处理)的技术。
横向扩展而非纵向扩展— 添加更多商用服务器(“横向扩展”)通常比升级现有服务器(“纵向扩展”)更具可扩展性(且更具成本效益)。通过添加更多服务器进行横向扩展可以提供近乎线性的容量增加,同时仍保持低成本。相反,通过升级现有服务器进行纵向扩展通常会达到收益递减点,超过此点,每增加一个单位容量就会变得非常昂贵。 积极缓存- 缓存是提高性能和减少系统资源负载的强大工具。
这样可以更轻松地独立扩展系统的各个部分。例如,在 Web 前端和秘鲁资源后端数据库之间使用消息队列可以帮助解耦这两个组件,允许它们在需要时单独扩展。 并行化工作– 尽可能将工作分解为可以并行处理的较小部分。这有助于提高性能,并允许系统更好地利用多个核心或处理器。例如,MapReduce 是一种常用于并行数据处理任务(如大规模日志分析或图像处理)的技术。
横向扩展而非纵向扩展— 添加更多商用服务器(“横向扩展”)通常比升级现有服务器(“纵向扩展”)更具可扩展性(且更具成本效益)。通过添加更多服务器进行横向扩展可以提供近乎线性的容量增加,同时仍保持低成本。相反,通过升级现有服务器进行纵向扩展通常会达到收益递减点,超过此点,每增加一个单位容量就会变得非常昂贵。 积极缓存- 缓存是提高性能和减少系统资源负载的强大工具。