可扩展性设计(一)相关概念

85 篇文章 0 订阅
37 篇文章 0 订阅

我们也可以把加机器得到的性能提升叫做横向扩展。

横向扩展(scale out)也叫水平扩展,指用更多的节点支撑更大量的请求例如1台机器支撑10000TPS,两台机器是否能支撑20000TPS?

纵向扩展(scale up)也叫垂直扩展,扩展一个点的能力支撑更大的请求。通常通过提升硬件实现,例如把磁盘升级为SSD。

横向扩展通常是为了提升吞吐量,响应时间一般要求不受吞吐量影响即可。因为本身在访问量比较小的时候,响应时间就是可接受的范围,例如去分布式缓存get一条数据的响应时间在毫秒级,理想情况如图5-1所示,只要在吞吐量不断提升的情况下保持这个响应时间就可以。当然,响应时间和吞吐量在资源一定的情况下,通常是互斥关系,如果要降低响应时间,可以通过纵向扩展,提升单机能力,或者改变数据存储结构,压缩等方式。

                                                

                                                      图 5-1 响应时间和吞吐量随节点数变化关系图

AKF扩展立方体

提到可扩展性,就不得不提著名的AKF扩展立方体(Scalability Cube),AKF是ebay前副总裁Martin Abbott在《The Art of Scalability》一书中的经典理论,作者把系统在架构上的扩展性按照三个维度进行说明,如图5-2所示。 

                                         

                                                          图 5-2 AKF扩展立方体 

下面我们通过表格5-1简单说明一下三个轴适用的场景、优势及挑战。

                              

                                                          表格 5‑1 AKF扩展立方体

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值