软件测试51-深入浅出网站伸缩性架构设计

目前,很多测试工程师,甚至是开发工程师都一直分不清楚可伸缩性和可扩展性这两个概念,主要原因是从字面上看这两个概念的确有相似之处。但实际情况呢,可伸缩性和可扩展性这两两个概念的含义相差十万八千里,根本不具有任何可比性。

所以,我将通过两篇文章来和你分享,网站的伸缩性和可扩展性架构设计到底是什么,以及在设计测试用例时需要注意哪些点。

可伸缩性和可扩展性的概念区别

可伸缩性翻译自 Scalability,指的是通过简单地增加硬件配置而使服务处理能力呈线性增长的能力。最简单直观的例子,就是通过在应用服务器集群中增加更多的节点,来提高整个集群的处理能力。

可扩展性翻译自 Extensibility,指的是网站的架构设计能够快速适应需求的变化,当需要增加新的功能实现时,对原有架构不需要做修改或者做很少的修改就能够快速满足新的业务需求。

接下来,我就先和你分享下网站的可伸缩性架构。而关于网站的可扩展性架构设计,我会在下一篇文章中和你详细分享。

分层的可伸缩性架构

网站的可伸缩性架构设计主要包含两个层面的含义:

  • 一个是指,根据功能进行物理分离来实现伸缩;
  • 另一个是指,物理分离后的单一功能通过增加或者减少硬件来实现伸缩。

在根据功能本身进行物理分离来实现伸缩的过程中,还有两种不同的实现方式:

  • 一种是功能的“横切”,比如一个电商网站的购物功能从上至下就可以分为界面 UI 层、业务逻辑处理层、公共服务层和数据库层,如果我们将这些层区分开来,每个层就可以独立实现可伸缩;

图 1 功能“横切”示意图

  • 另一种是功能的“纵切”,比如一个电商网站可以根据经营的业务范围(比如书店、生鲜、家电和日化用品等)进行功能模块的划分,划分后的每个业务模块都可以独立地根据业务流量和压力来实现最适合自己规模的伸缩性设计。

  • 14
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员zhi路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值