博客
关于我
可伸缩性
阅读量:445 次
发布时间:2019-03-06

本文共 546 字,大约阅读时间需要 1 分钟。

技术文档:系统可伸缩性与扩展性

常见问题

在实际应用中,硬件设备的性能限制有时会影响软件系统的优化效果。这时候,单纯依靠软件优化已经无法提升性能,系统架构需要进行改造,通过组合多个低处理能力的硬件设备,构建具有高处理能力的系统。

可伸缩性

可伸缩性是指在增加计算机资源(如CPU、内存、存储容量或I/O带宽)时,程序的吞吐量或处理能力能够相应提升。例如,当业务量较小时,软件系统可以运行在一台服务器上;当业务量扩大时,可以通过增加服务器数量或在单台服务器上部署更多实例来提升性能,无需对软件本身进行编码级修改。

架构扩展方式

纵向伸缩(Scale-up)

通过提升单台机器的配置,适合解决短期处理需求的问题。优点是维护简单,但缺点是高端设备费用昂贵,且单台机器的处理能力有限,故障影响较大。

横向伸缩(Scale-out)

通过增加机器数量来提升系统性能。理想情况下,负载扩大N倍,机器数量也应增加N倍,以保持性能不变。优点是成本低且故障影响小,但缺点是节点数量增加,架构复杂度提高,维护成本更高。

可伸缩性与可扩展性的区别

  • 可伸缩性:关注系统规模的扩展。
  • 可扩展性:关注系统对变化的适应能力。

通过合理设计系统架构,结合纵向和横向伸缩策略,可以在满足业务需求的同时,优化系统性能和维护成本。

转载地址:http://coufz.baihongyu.com/

你可能感兴趣的文章
phpwind部署问题
查看>>
PHP__call __callStatic
查看>>
PHP——修改数据库1
查看>>
PHP——底层运行机制与原理
查看>>
php一句话图片运行,【后端开发】php一句话图片木马怎么解析
查看>>
php上传文件找不到临时文件夹
查看>>
PHP下curl用法分析
查看>>
php与web服务器关系
查看>>
redis事务操作
查看>>
PHP中array_merge和array相加的区别分析
查看>>
PHP中dirname(__FILE__)的意思
查看>>
PHP中extract()函数的妙用
查看>>
PHP中implode()和explode()
查看>>
PHP中serialize和json序列化与反序列化的区别
查看>>
Redis事务处理
查看>>
php中使用ajax进行前后端json数据交互
查看>>
Redis事务和锁操作
查看>>
PHP中如何得到数组的长度
查看>>
php中引入文件几种方式的区别
查看>>
PHP中把stdClass Object转array的几个方法
查看>>