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

网友投稿 1179 2022-05-29

全是干货的技术号:

本文已收录在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 Up(纵向扩展)和Scale Out(横向扩展)?

即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

分布式

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:#化鲲为鹏,我有话说#鲲鹏云服务器JBOSS部署实践
下一篇:LibTorch入门——Win10+VS2017配置LibTorch开发环境。
相关文章