所谓网站的伸缩性指不需要改变软硬设计,仅仅通过改变部署的服务器数量就可以扩大或缩小网站的服务处理能力
最重要的技术手段就是使用服务器集群,通过不断向集群中添加服务器来增强整个集群的处理能力
1网站架构的伸缩性设计
1.1不同功能进行物理分离实现伸缩
不同服务器部署不同服务,提供不同功能
每次分离都会有更多服务器加入网站,使用新增的服务器处理某种特定功能
1.2 单一功能通过集群规模实现 伸缩
随着网站的访问量增加,即使分离到最小粒度的独立部署,
单一服务器也不能满足业务 需求,因此使用服务器集群,
即相同服务部署在多台服务器上构成一个集群整体对外提供服务
2.应用服务器的伸缩性设计
负载均衡的技术手段:
HTTP重定向负载均衡
浏览器需要通过两次请求才能完成一次访问
通过普通的服务器实现负载均衡,返回给浏览器重定向Web服务器上
DNS域名解析负载均衡
3.反向代理负载均衡(应用层负载均衡)
IP负载均衡
5. 数据链路层负载均衡
负载均衡修改目的地址
负载均衡分发过程中不修改IP地址,只修改目的mac地址,
通过配置真实物理服务器集群所有机器虚拟IP和负载均衡服务器,IP地址一致,
从而达到不修改数据包的源地址和目的地址就可以进行数据分发目的
由于实际处理请求真实服务器IP和数据请求目的一致,不需要负载均衡转换,
所以响应数据包直接返回给浏览器
这种方式;LVS
3.分布式缓存集群的伸缩性设计
4.数据存储服务器伸缩性设计
数据库主从读写分离,主服务器负责进行写操作,
由主服务器同步集群到其他从服务器,
数据读操作在从服务器上进行
不同业务数据表部署在不同数据库集群上即数据分库