可伸缩性
常见问题
有时由于硬件设备的限制,单纯软件上的性能优化已经无法提升系统性能?
这时需要改造系统的架构体系,提升系统的扩展能力,组合多个只具备低处理能力的硬件设备,从而达到一个具有高处理能力的系统。
可伸缩性
当增加计算机资源时(例如CPU、内存、存储容量或I/O带宽),程序的吞吐量或者处理能力能相应地增加。
例如当业务量小的时候,软件系统运行在一台服务器上,当业务量大的时候,可以通过增加服务器,或增加单台服务器上锁运行的软件系统的个数了来提高其性能,从而达到不需要对软件系统本身进行编程级的修改或变更。
如何实现
纵向伸缩scale up
提升单台机器配置
适合短期处理问题
优点
- 维护简单
缺点
- 高端设备费用贵
- 单台机器的处理能力总是有限的
- 故障影响大
横向伸缩scale out
增加机器来提升系统的性能
最完美的情况是线性扩展,负载扩大N倍,机器也增加N倍来保持性能不变
优点
- 成本低
- 故障影响小
缺点
- 节点增多,架构整体复杂度提高
- 集群维护难度加大,维护成本更高
可伸缩性与可扩展性
- 可伸缩性:对规模的扩展
- 可扩展性:对变化的扩展
__EOF__
欢迎转载,但请注明出处!
欢迎大家一起交流学习!如果有什么疑问,大家可以在评论区一起交流!
如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是我的最大动力!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步