可伸缩性

常见问题

有时因为硬件设备的限制,单纯软件上的性能优化已经没法提高系统性能?
这时须要改造系统的架构体系,提高系统的扩展能力,组合多个只具有低处理能力的硬件设备,从而达到一个具备高处理能力的系统。编程

可伸缩性

当增长计算机资源时(例如CPU、内存、存储容量或I/O带宽),程序的吞吐量或者处理能力能相应地增长。
例如当业务量小的时候,软件系统运行在一台服务器上,当业务量大的时候,能够经过增长服务器,或增长单台服务器上锁运行的软件系统的个数了来提升其性能,从而达到不须要对软件系统自己进行编程级的修改或变动。性能优化

如何实现

纵向伸缩scale up

提高单台机器配置
适合短时间处理问题服务器

优势

  • 维护简单

缺点

  • 高端设备费用贵
  • 单台机器的处理能力老是有限的
  • 故障影响大

横向伸缩scale out

增长机器来提高系统的性能
最完美的状况是线性扩展,负载扩大N倍,机器也增长N倍来保持性能不变架构

优势

  • 成本低
  • 故障影响小

缺点

  • 节点增多,架构总体复杂度提升
  • 集群维护难度加大,维护成本更高

可伸缩性与可扩展性

  • 可伸缩性:对规模的扩展
  • 可扩展性:对变化的扩展
相关文章
相关标签/搜索