System Design

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

2019-03-19  本文已影响0人  MeazZa

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

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

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

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

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

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

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

上一篇 下一篇

猜你喜欢

热点阅读