【读书笔记】网站的伸缩性架构

前言

本菜鸡之前有过一篇读书笔记,整理了李智慧老师所著的《大型网站技术架构》一书中叙述的五个架构要素。这五个要素分别为 性能、可用性、伸缩性、扩展性、安全性本文针对伸缩性这一要素进行简单的讨论,内容也主要参考自《大型网站技术架构》这本书(一万分推荐这本书,个人认为这本书可以说是技术架构导论一样的存在了)。

所谓网站的伸缩性是指不需要改变网站的软硬件设计,仅仅通过改变部署的服务器数量就可以扩大或者缩小网站的服务处理能力。

网站架构的伸缩性设计

一、不同功能进行物理分离实现伸缩

网站发展的早期,通过增加服务器提高网站处理能力时,新增的服务器总是从现有服务器中分离出本分功能和服务。如下所示
在这里插入图片描述

二、单一功能通过集群规模实现伸缩

正如在介绍网站的可用性架构设计时,提到的使用集群来避免某些服务器压力过大,使用集群也正是实现伸缩性的一个重要手段。

应用服务器集群的伸缩性设计

应用服务器只要不具有状态,那么就可以很容易地通过负载均衡器向集群中添加新的服务器。

分布式缓存集群的伸缩性设计

应用服务器集群中的每个服务器都部署着相同的应用!

而分布式缓存服务器集群中不同服务器中缓存的数据各不相同,

缓存访问请求不可以在缓存服务器集群中的任意一台处理,必须先找到缓存有需要数据的服务器,然后才能访问。

这个特点会严重制约分布式缓存集群的伸缩性设计,因为新上线的缓存服务器没有缓存任何数据,而已经下线的缓存服务器还缓存着网站的许多热点数据

必须让新上线的缓存服务器对整个分布式缓存集群影响最小,也就是说新加入的缓存服务器后应该使整个缓存服务器集群中已经缓存的数据尽可能还被访问到,这是分布式缓存集群伸缩性设计的最主要目标。

数据存储服务器集群的伸缩性设计

关系型数据库的伸缩性通过 Sharding 来实现,将数据按一定的规则分布到不同的节点上,从而解决单台存储服务器的存储空间限制。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值