Categories
程式開發

软件架构伸缩性的六大原


我们生活在这样的一个时代,像谷歌、亚马逊、Facebook 这样规模庞大的互联网公司成为一种工程标志。它们每秒处理大量的请求,管理着规模空前的数据库存储。由于商业机密方面的原因,要精确获得这些系统的流量数据并不容易。但不管怎样,随着用户的增长,伸缩能力是这些公司持续取得成功的关键因素。

所幸的是,我们可以通过一家公司的年度使用报告来深入了解互联网规模的请求量和数据量。这是 2019 年以来极其详细的使用统计数据

不过需要注意的是,这份报告针对的是 pornhub.com,不适合那些有神经质的人看。报告表明,2019 年 Pornhub 网站有 420 亿的访问量!

对于绝大多数商业和政府系统来说,在开发和部署的早期阶段,可伸缩性并不是主要的需求,可用性和实用的新功能才是开发周期的驱动因素。只要能够满足正常的负载,就会不断加入新功能来提高系统的业务价值。

但是,系统也会发展到性能和可伸缩性成为紧迫问题甚至是生存问题的阶段,这种情况并不少见。功能方面取得的成功催生了更多与处理和数据管理相关的需求。这通常预示着一个转折点,在轻负载下合理的设计决策现在突然变成了技术债务。外部触发的事件往往会成为引爆点——看看 2020 年 3 月份媒体上有关失业以及超市网上订购网站因冠状病毒大流行而供不应求的大量报道。

原文链接:【https://www.infoq.cn/article/Qm8qwrZIcTdH6q33Oebf】。未经作者许可,禁止转载。