水平或横向
水平扩展(向外扩展)意味着向系统中添加更多节点(或从系统中删除节点),例如向分布式软件应用程序中添加新计算机。一个示例可能涉及从一台Web服务器扩展到三台。诸如地震分析和生物技术工作量之类的高性能计算应用程序水平扩展,以支持曾经需要昂贵的超级计算机的任务。其他工作负载(例如大型社交网络)超过了大的超级计算机的容量,并且只能由可伸缩系统处理。利用这种可伸缩性需要软件来进行有效的资源管理和维护。
垂直或放大
垂直扩展(向上/向下)表示向单个节点添加资源(或从单个节点删除资源),通常涉及向单个计算机添加CPU,内存或存储。
更大数量的元素会增加管理复杂性,更复杂的编程以在资源之间分配任务并处理诸如节点间的吞吐量和延迟之类的问题,而某些应用程序无法水平扩展。
请注意,网络功能虚拟化对这些术语的定义有所不同:向外扩展/扩展是通过添加/删除资源实例(例如,虚拟机)进行扩展的能力,而向上/向下扩展是通过更改分配的资源(例如,内存/ CPU)进行扩展的能力。 /存储容量)
可伸缩性可以在多个维度上进行度量
例如:
管理可伸缩性:越来越多的组织或用户访问系统的能力。
功能可伸缩性:通过添加新功能而不中断现有活动来增强系统的能力。
地理可扩展性:在从本地区域扩展到较大区域时保持有效性的能力。
负载可伸缩性:分布式系统扩展和收缩以适应较重或较轻的负载的能力,包括轻松修改或添加或删除系统或组件以适应变化的负载的能力。
世代可伸缩性:系统通过采用新一代组件进行扩展的能力。
异构可伸缩性是采用来自不同供应商的组件的能力。