• 可伸缩性


    常见问题

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

    可伸缩性

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

    如何实现

    纵向伸缩scale up

    提升单台机器配置
    适合短期处理问题

    优点

    • 维护简单

    缺点

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

    横向伸缩scale out

    增加机器来提升系统的性能
    最完美的情况是线性扩展,负载扩大N倍,机器也增加N倍来保持性能不变

    优点

    • 成本低
    • 故障影响小

    缺点

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

    可伸缩性与可扩展性

    • 可伸缩性:对规模的扩展
    • 可扩展性:对变化的扩展
  • 相关阅读:
    Java HashMap存储问题
    <转>堆和栈的区别
    Linux shell命令
    DNS(三)DNS SEC(域名系统安全扩展)
    DNS (二)协议
    绕过CDN查找网站真实IP方法
    stream流思想应用
    http接口实现附件对接
    AQS深入分析
    AQS快速入门
  • 原文地址:https://www.cnblogs.com/powercto/p/12902345.html
Copyright © 2020-2023  润新知