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

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

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

常见问题

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

可伸缩性

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

架构扩展方式

纵向伸缩(Scale-up)

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

横向伸缩(Scale-out)

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

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

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

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

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

你可能感兴趣的文章
php curl 实例+详解
查看>>
php curl_init函数用法(http://blog.sina.com.cn/s/blog_640738130100tsig.html)
查看>>
php curl_multi批量发送http请求
查看>>
PHP curl请求错误汇总和解决方案
查看>>
php echo 输出 锘?... 乱码问题
查看>>
PHP empty、isset、isnull的区别
查看>>
ReferenceQueue的使用
查看>>
PHP FastCGI进程管理器PHP-FPM的架构
查看>>
php flush()刷新不能输出缓冲的原因分析
查看>>
Referenced classpath provider does not exist: org.maven.ide.eclipse.launchconfig
查看>>
Refactoring-Imporving the Design of Exsiting Code — 代码的坏味道
查看>>
PHP imap 远程命令执行漏洞复现(CVE-2018-19518)
查看>>
php include和require
查看>>
ref 和out 区别
查看>>
php JS 导出表格特殊处理
查看>>
php json dom解析
查看>>
ReentrantReadWriteLock读写锁解析
查看>>
php laravel实现依赖注入原理(反射机制)
查看>>
php laravel请求处理管道(装饰者模式)
查看>>
ReentrantReadWriteLock读写锁底层实现、StampLock详解
查看>>