系统设计基础1:垂直扩展和水平扩展

从本文开始,我们将开始介绍关于系统设计的内容,也就是如何实现一个复杂系统的设计。

首先介绍比较基础的概念:垂直扩展和水平扩展。这两个概念的提出,是由于当前系统对于请求的处理能力不足,需要进行处理能力的扩展。通俗上来讲,垂直扩展等于升级服务器,水平扩展等于增加服务器。

这里我们假设大家都有一定的分布式系统的经验,对于这两个概念本身不做过多的赘述,重点关注下两种扩展方式的优缺点对比。

比较点 水平扩展 垂直扩展
可用性 弹性部署(Resilient) 单点故障(Single Point of failure)
可扩展性 请求量增加可增加机器 硬件限制
请求方式 负载均衡(Load Balance) N/A
调用速度 网络调用(RPC) 内部通信(Internal Process Communication)
数据一致性 可能出现不一致 始终一致

可以看出,这两种扩展方式并没有绝对的好坏之分。垂直扩展的优点在于方法简单,数据状态维护简单,方法内部调用速度块;水平扩展的优点在于可用性和可扩展性的都较好。

由于水平扩展是目前互联网服务的主流设计方式,后面我们将主要针对水平扩展的相关知识点进行介绍。

欢迎大家订阅专题,其中包含了系统设计基础系列的全部文章:System Design

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 儿子今年9岁,上三年级,是个顽皮淘气的小家伙,考试没有一次及格过。上课不认真听讲,刚坐下不到三分钟,就东张西望,好...
    及格就好阅读 622评论 0 0
  • 开篇 块元素的上边距或下边距有时会合并为一个margin,这种情况称之为外边距的合并,即collapsing ma...
    Pursue阅读 608评论 0 1
  • 领英随笔第165篇:担水,这个词现在已经很少用到了,稍微有点条件的地方包括农村基本上实现了自来水入户。担水却是我从...
    云湛蓝阅读 213评论 0 0
  • 当我想要忘记过往,当我想要重新开始,当我想要开始学习爱,当我想要认真去对待一段感情,当我想要学着去妥协去体谅去包容...
    困了可以想睡就睡么阅读 472评论 0 0