什么是Scale Up(纵向扩展)和Scale Out(横向扩展)?

举报
JavaEdge 发表于 2021/06/04 01:52:36 2021/06/04
【摘要】 全是干货的技术号: 本文已收录在github仓库 Java-Interview-Tutorial,欢迎 star/fork: https://github.com/Wasabi1234/Java-Interview-Tutorial 1 Scale Out 即Scale horizontally,横向扩展,向外扩展 。 称为集群系统。指由多个节点组成的系统...

全是干货的技术号:
本文已收录在github仓库 Java-Interview-Tutorial,欢迎 star/fork:
https://github.com/Wasabi1234/Java-Interview-Tutorial

1 Scale Out

即Scale horizontally,横向扩展,向外扩展 。
称为集群系统。指由多个节点组成的系统,这种系统的扩展主要以水平扩展方式(指增加节点的方式)来进行。

Scale-out 通过将多个低性能的机器组成一个分布式集群来共同抵御高并发流量的冲击。
比如向原有的web、邮件系统添加一个新机器。

2 Scale Up

即Scale vertically)纵向扩展,向上扩展。
称为单节点系统,指系统中只包括一个有效节点(如果需要HA时,可以将两个单节点以System Replication形式构成单节点的HA架构)。这种架构的系统只具有垂直扩展能力,当需要扩展系统时,通过在节点上增加更多的CPU、内存和硬盘来扩大系统的能力。

Scale-up通过购买性能更好的硬件提升系统的并发处理能力,
比如:我们向原有的机器增加CPU、内存数。

3 抉择

无论是Scale Out,Scale Up,Scale In,实际上就是一种架构的概念,这些概念用在存储上可以,用在数据库上,网络上一样可以。

何时选择Scale-up或Scale-out呢?
一般系统设计初期会考虑使用Scale-up,因为足够简单,堆砌硬件解决即可,但当系统并发超过单机的极限时,就要使用Scale-out了。

Scale-out虽能突破单机限制,但也会引入一些复杂问题。比如,

  • 若某节点故障,如何保证 HA?
  • 当多个节点有状态需要同步时如何保证状态信息在不同节点的一致性?
  • 如何做到使用方无感知的增加和删除节点?

这些问题的存在与解决也伴随着分布式系统不断完善发展。

参考

  • http://www.chinastor.com/jishu/scale.html
  • https://support.huaweicloud.com/sap_faq/sap_04_0028.html

文章来源: javaedge.blog.csdn.net,作者:JavaEdge.,版权归原作者所有,如需转载,请联系作者。

原文链接:javaedge.blog.csdn.net/article/details/108722960

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。