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

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

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

常见问题

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

可伸缩性

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

架构扩展方式

纵向伸缩(Scale-up)

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

横向伸缩(Scale-out)

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

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

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

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

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

你可能感兴趣的文章
PHP大数组循环-避免产生Notice或者是Warning
查看>>
PHP大数组过滤元素、修改元素性能分析
查看>>
PHP大文件切片下载代码
查看>>
PHP如何下载远程文件到指定目录
查看>>
php如何优化压缩的图片
查看>>
php如何做表格,新手怎么制作表格
查看>>
RabbitMQ高级特性
查看>>
php如何定义的数位置,php如何实现不借助IDE快速定位行数或者方法定义的文件和位置...
查看>>
RabbitMQ集群 - 普通集群搭建、宕机情况
查看>>
php如何正确的获得文件的后缀名
查看>>
PHP如何生成唯一的数字ID
查看>>
PHP如何获取当前页面的最后修改时间
查看>>
PHP如何读取json数据
查看>>
PHP字符串
查看>>
PHP字符串递增
查看>>
php学习之基础语法
查看>>
RabbitMQ集群 - 仲裁队列、Raft协议(最详细的选举流程)
查看>>
PHP学习总结(11)——PHP入门篇之WAMPServer多站点配置
查看>>
PHP学习总结(12)——PHP入门篇之变量
查看>>
PHP学习总结(13)——PHP入门篇之常量
查看>>