对于大型的分布式架构而言,我们一直在追求一种简单、优雅的方式来应对访问量和数据量的增长。而这种方式通常指的是不需要改动软件程序,仅仅通过硬件升级或者增加机器就可以解决。而这种就是分布式架构下的伸缩设计

伸缩分为垂直伸缩和水平伸缩两种

垂直伸缩:
表示通过升级或者增加单台机器的硬件来支撑访问量以及数据量增长的方式,垂直伸缩的好处在于技术难度比较低,运营和改动成本也相对较低。但是缺点是机器性能是有瓶颈的,同时升级高性能的小型机或者大型机,成本是非常大的。这也是阿里去IOE的一个原因之一

增加CPU核心数:增加CPU后系统的服务能力能够得到大的增长,比如响应速度、同时可以处理的线程数。
但是引入CPU后也会带来一些显著的问题

1. 锁竞争加剧;多个线程同时运行访问某个共享数据,那么就涉及到锁竞争,锁竞争激烈时
会导致很多线程都在等待锁,所以即时增加CPU也无法让线程得到更快的处理。当然这里是有调优手段的,可以通过调优手段来降低锁竞争

2. 支撑并发请求的线程数是固定的,那么即时增加CPU,系统的服务能力也不会得到提升

3. 对于单线程任务,多核心CPU是没有太大的作用的

增加内存:
增加内存可以直接提成系统的响应速度,当然,也有可能达不到效果,就是如果JVM堆内存是固定的。

水平伸缩:
通过增加机器来支撑访问量及数据量增长的方式,成为水平伸缩,水平伸缩理论上来说没有瓶颈,但是缺点是技术要求比较高,同时给运维带来了更大的挑战

垂直伸缩和水平伸缩都有各自的有点,我们在实际使用过程中都会对两者做结合,一方面要考虑硬件升级的成本,一方面要考虑软件改造的成本。

分布式架构的水平和垂直扩容相关推荐

  1. ES分布式机制的透明性,垂直扩容和水平扩容,数据rebalance,master节点,节点平等的分布式架构,shard和replica机制(学习)

    1.Elasticsearch对复杂分布式机制的透明影藏特性 Elasticsearch是一套分布式的系统,分布式是为了应对大数据量影藏了复杂的分布式机制. 分片机制(我们可以随随便便就将一些docu ...

  2. [Mysql] 分布式架构-Mycat(步骤详细)

    一.Mycat简介 Mycat是一个开源的分布式数据库系统,其核心功能是分库分表,即将一个达标水平分割成多个小表,存储在后端MySQL或者其他数据库里.取名Mycat原因一是简单好记,另一个则是希望未 ...

  3. 【架构设计】冷备/热备/温备、水平扩展/垂直扩展、弹性扩容

    文章目录 冷备/热备/温备 热备流程 冷备优点 复制 水平扩展(平行扩容?)/垂直扩展 平行扩容 垂直扩展 平行扩容和垂直扩容有什么区别? 弹性扩容 来源 冷备/热备/温备 热备(在线备份):在数据库 ...

  4. 一文看懂Java微服务架构,WEB2.0,垂直架构,分布式架构,微服务架构

    Java微服务架构 目录: 了解开发环境&生成环境 WEB1.0 & WEB2.0 垂直架构 分布式架构 微服务架构 1.了解开发环境&生产环境 1.1 开发环境 平时在写代码 ...

  5. 【分布式架构】“高并发” -- 详解

    一.什么是高并发 高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求. 高并发相关常用的一些指标有 1响应时 ...

  6. 如何实现高容量大并发数据库服务 | 数据库分布式架构设计

    袋鼠学院和优云.阿里云联合举办的沙龙结束之后,总是有小伙伴们来问PPT内容,想要进一步了解Topic内容.(哦,对了对了,竟然还有小伙伴专门冲着袋鼠云去听沙龙,感动cry~~) 千呼万唤,忙成狗的袋鼠 ...

  7. 工行高级经理林承军:工行基于 MySQL 构建分布式架构的转型之路

    中生代技术 链接技术大咖,分享技术干货 全文:7200字 本文作者:林承军,中国工商银行软件开发中心高级经理,有用多年开放平台相关技术研究及实施经验,多次参与工行重点项目的原型技术研究.IT 架构转型 ...

  8. 广发证券基于分布式架构的新一代估值系统实践

    文 / 广发证券信息技术部 来源 / 金融电子化 随着信息技术应用创新试点范围不断扩大,能否胜任更多业务场景,是各行各业当前阶段选型数据库的关键.早在 2019 年,广发证券即开启对分布式架构的数据库 ...

  9. 分布式架构、大数据、机器学习、搜索、推荐、广告

    http://blog.csdn.net/yangbutao/article/details/12242441  [置顶] 构建高并发高可用的电商平台架构实践 标签: 架构电商高并发高可用实践 201 ...

最新文章

  1. 在Bash中将字符串拆分为数组
  2. httpd(一)--基础、认证
  3. Opengl-光照-基本光照-冯氏(千万好好理解后面所有的延伸基本都是基于这个的)
  4. 剑指Offer #14 链表中倒数第k个结点(快慢指针) | 图文详解
  5. linux 安装x11 apt-get,Mac 安装apt-get
  6. 无法加载登录用户界面DLL MyGina.dll 解决
  7. C语言汉字写入问题及Unicode优势
  8. 现在生意不是能不能干的问题
  9. [Java] 蓝桥杯ALGO-78 算法训练 确定元音字母位置
  10. ubuntu环境下如何设置开机启动项
  11. PCWorld:谷歌成下一个微软式企业10大理由
  12. thinkphp5项目--个人博客(五)
  13. 网络口碑理论的精髓:AISAS
  14. 用360查看本地dns
  15. 618大促:手机品牌“神仙打架”,高端市场“谁主沉浮”?
  16. ubuntu桌面幻灯片_如何在Ubuntu中创建墙纸幻灯片
  17. 接地GND的目的是什么?
  18. 上传身份证--uc手机浏览器拍照覆盖问题
  19. dfs python
  20. 如何打开安卓模拟器里的开发者选项

热门文章

  1. 《从0到1学习Flink》—— Apache Flink 介绍
  2. 一维小波变换的C++实现
  3. 'weblogic.kernel.Default (self-tuning) 问题weblogic层面解决办法
  4. C++学习基础三——迭代器基础
  5. 2014-2015-1学期使用的教材
  6. SOAWebservice系列课程(1)--The Essentials of Service Orientation
  7. 车和家李想:特斯拉加州经验难以直接复制到国内
  8. 多字节与UTF-8、Unicode之间的转换
  9. P2253 好一个一中腰鼓!
  10. JavaEE目标及企业应用和互联网应用区别