一文快速搞懂垂直扩展与水平扩展

这篇具有很好参考价值的文章主要介绍了一文快速搞懂垂直扩展与水平扩展。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

场景引入

现在,请假设你是一家电商公司的技术负责人,你的公司将要迎来一年一度的双11购物狂欢节,你需要为公司的网站做好充分的准备,以应对即将到来的流量高峰。然而,毫无经验的你选择了让服务器在双11结束之前打烊。然后…然后就没有然后了。
—— 面对类似这样的问题,我们可以考虑对系统进行“扩展”。

何为扩展?

提高系统的处理能力。

为何扩展?

只要产品增长,就会带来系统负载的增长,包括但不限于:数据量、流量、业务复杂性。当一个系统的负载增加时,系统就可能会出现性能瓶颈、响应时间变慢、甚至崩溃等问题。

类比:员工的能力若跟不上公司业务发展速度,就会出现项目延期、交付质量不佳,甚至跑路。

而扩展就是解决此类系统性能和可靠性问题的常用方法,以提高业务效率和可靠性,从而获得商业效益。

垂直扩展

定义

垂直扩展指的是通过升级单台服务器的硬件配置来提高系统的处理能力和可靠性。可以增加服务器的内存、CPU、带宽等硬件资源,从而实现垂直扩展。不需要变动系统逻辑,引入额外依赖。

类比:提高员工的工作能力,以提高效率。

优点

主要是简单,复杂度低,易于维护。

缺点

一个人的能力再怎么厉害,也是有限的;一旦遇上生病、请假,业务就停转了。

  • 单台服务器的性能和资源有天花板,无法无限制地进行扩展

  • 升级硬件需要停机维护,可能会影响系统的可用性

  • 单点故障问题

  • 不够灵活,无法根据业务需求动态调整

思考

如果负载不断增长,即使机器永不宕机,此时通过升级硬件配置带来的效果已经跟不上了,该怎么办?

水平扩展

定义

水平扩展(也叫横向扩展),指通过增加服务器数量(或者资源池中的节点数量)来提高系统的处理能力和可靠性。可以将请求分发到多台服务器上,以分摊机器负载,从而实现水平扩展。

类比:加人。三个臭皮匠,顶过一个诸葛亮。

优点

  • 通过增加服务器/节点数量来提高系统的并发处理能力,突破单点限制

  • 无需停机维护,丝滑升级,系统可用性有保证

  • 提供冗余节点,即使单点故障也可以持续提供服务,保证系统的可用性和稳定性

  • 灵活性高,可以根据业务需求动态调整服务器数量以适应业务

缺点

主要是起步成本高,且难以维护,因为引入了“分布式”。

  • 数据一致性:数据同步、分布式事务等

  • 通信成本:机器间需要进行网络通信,可能会增加网络延迟和带宽成本

  • 其他:容错、负载不均等

trade-off

在选择水平扩展和垂直扩展方案时,需要根据具体业务需求来进行综合考虑。

  1. 流量特点:如果需要处理大量并发请求,可以选择水平扩展方案;如果需要提高单个请求的处理速度和稳定性,可以选择垂直扩展方案。

  2. 计算特点:水平扩展通常用于处理不断增加的流量或工作负载,而垂直扩展通常用于处理需要更多处理能力的资源密集型任务或应用程序。

  3. 长远考虑:到目前为止,单个节点只能垂直扩展,可能无法满足未来的需求。而水平扩展提供了扩展的灵活性,可以通过添加更多机器来提高业务的性能上限。

  4. 成本考虑:水平升级具有更高的前期硬件支出。如果预算有限,并且需要快速且廉价地向基础架构添加更多容量,则垂直扩展可能会更好。

  5. 可靠性:支持水平扩展的系统会更可靠。它确保系统不依赖于单台计算机,并增加冗余。当一台机器发生故障时,另一台机器仍然可以提供服务。

  6. 发布要求:水平扩展无需停机,可以提供更连续丝滑的升级过程。

  7. 地理位置:如果业务扩展到国际客户,必须做水平扩展。

思考

如何保证在水平扩展后,请求可以被分发到尽可能合适的机器上,以提高系统的整体效率?文章来源地址https://www.toymoban.com/news/detail-564727.html

到了这里,关于一文快速搞懂垂直扩展与水平扩展的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序23__flex布局 相关的3种居中: 水平居中_垂直居中_水平垂直居中

    类似这样写法 display:  flex; flex-direction:  column;                //垂直布局 align-items:  center;                    // 水平居中     justify-content:  space-around; //垂直方向分散布局 类似这样写法 display:  flex; flex-direction: row;          //水平布局       align-items: center;    

    2024年02月03日
    浏览(17)
  • 块、行内块水平垂直居中

    1.定位实现水平垂直居中 2.定位+位移 3.相对于整个视口水平垂直居中 4.flex+margin   5. flex 水平垂直居中 6.遮挡层

    2024年02月13日
    浏览(10)
  • 垂直分表、水平分表详解

    什么是垂直分表 垂直分表就是把一张表按列分为多张表,多张表通过主键进行关联,从而组成完整的数据。 分表之后,每张表的结构都不相同。 垂直分表不需要额外引用其他组件,需要到Repository层面建立好表映射即可。 根据什么分表呢? 根据数据是否是热点数据划分。

    2024年02月08日
    浏览(18)
  • CSS水平垂直居中

    1.利用定位 + margin:auto 2.flex布局 3.grid布局 一、利用position+margin:auto  二、利用flex 三、gird布局

    2024年02月14日
    浏览(17)
  • 居中一个元素(水平+垂直居中)

    我们的示例代码全在此基础上修改: 具体原理参考下面这篇博客: flex 弹性布局_本郡主是喵的博客-CSDN博客 对于内容是 行内式元素(内容大小撑起标签宽高)或文字, 是有效的。 line-heignt == height ,能使文字垂直对齐,text-align:center,能使内容居中水平对齐 父元素,采用相对布局,

    2024年02月11日
    浏览(15)
  • 水平越权与垂直越权

    越权,顾名思义,就是超出了权限或权力范围。多数WEB应用都具备权限划分和控制,但是如果权限控制功能设计存在缺陷,那么攻击者就可以通过这些缺陷来访问未经授权的功能或数据,这就是我们通常说的越权漏洞。攻击者越权后就可以进行一些操作,例如查看敏感信息、

    2023年04月11日
    浏览(14)
  • 水平越权&垂直越权

    1、水平越权-同级用户权限共享 2、垂直越权-低高用户权限共享 3、访问控制-验证丢失取消验证脆弱验证 4、脆弱验证-CookieTokenJwt等 水平越权 就是同级用户之间的越权,打个比方现在有ABC三个用户,A是管理员,BC都是普通用户,现在B能够使用C这个用户的权限这就是水平越权

    2024年02月04日
    浏览(22)
  • 水平越权、垂直越权、防范措施

    一、越权简介 越权 :权限控制功能设计存在缺陷,攻击者就可以通过这些缺陷来访问未经授权的功能或数据。基于数据的访问控制设计缺陷引起。 越权 : 水平越权 、 垂直越权 二、水平越权 水平越权 : 权限相等者互相越权 。 A账号和B账号都可以访问这个功能,但是A账号

    2024年02月09日
    浏览(17)
  • CSS 水平垂直居中的方式

    目录 在不知道子元素宽高的情况下,水平垂直居中的六种方式: 1、弹性盒子布局方式来实现(flex)。  2、绝对定位 + transform 3、table标签 4、display:table-cell 5、display: grid 6、writing-mode 属性 在实际使用最好测试下最低版本是否支持对应的实现方式,尽量选各个浏览器支持比

    2024年02月08日
    浏览(21)
  • uniapp 页面元素水平垂直居中

    在uniapp中如何让一个源码在页面中水平垂直居中?可添加如下操作: 在App.vue添加如下代码设置页面宽度100%显示 在你要居中的页面添加 效果如下

    2024年02月15日
    浏览(17)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包