应用软件的扩展对于处理用户需求的增加和确保系统可靠性至关重要。 两种主要方法都是横向的和纵向的。 每一种方法都对成本、性能和基础设施管理有不同的影响。

水平缩放

水平缩放涉及增加更多的机器或实例来分配工作量,这种方法提高了系统能力和故障容度,经常用于云层环境中,可以动态地分配资源。

成本考虑包括增加服务器的基础设施费用和网络带宽的潜在增加,性能收益取决于有效的负载平衡和应用架构,水平缩放一般更灵活,更能抵御故障.

垂直缩放

垂直缩放会通过增加更多的CPU,RAM或存储来增加单机的容量. 这种方法执行起来比较简单,但基于硬件限制而有局限性,它适合具有可预见工作量的应用程序.

成本因素包括升级现有硬件或购买更强大的服务器. 性能的改进往往立即进行,但受硬件最大容量的限制. 垂直缩放可能不太复杂,但可能导致单一的故障点.

费用和业绩比较

横向规模化通常能为大规模应用提供更好的长期成本效率,因为资源可以逐步增加,同时也能提供更高的容错度和可扩展性,但是,它可能涉及更高的初始设置复杂性和网络成本。

纵向规模化对于增长可预测的中小工作量来说,成本效益更高,执行起来容易,但随着硬件能力达到最大程度,可能受到限制,性能改进是直接的,但受硬件限制的限制。

  • 水平缩放能增强断层耐受性.
  • 垂直缩放简化管理.
  • 水平规模对增长更为灵活。
  • 垂直缩放有硬件限制.