网站架构及其演变过程

要想了解网站架构,必先了解网站的演变过程,欲想了解过程,必先了解三大软件类型。好了,👇开始介绍:

1.软件类型

三大软件类型:单机、C/S、B/S
(一)单机类型:不需要联网的单机软件
(二) CS类型:客户端/服务器,有的程序需要统一管理软件中使用的数据, 所以就将保存数据的数据库统一存放在一台主机中, 所有的用户在需要数据时都要从主机获取, 这时就分出了客户端和服务 端, 用户安装的软件叫客户端(Client), 统一管理数据的主机中的软件就叫服务端(Server), 这种结构就叫CS 结构。
在这里插入图片描述
(三)BS类型:浏览器/服务器,客户机上只要安装一个浏览器(Browser),可以访问所有同种类型的网站, 当然它主要用 展示数据, 具体业务处理是在不同的服务端进行的, 这种结构就叫BS 结构。
在这里插入图片描述

2.架构演变的起点

网站架构为什么不是一成不变?而是在不断演进中?这是由于两个原因造成的:一是,海量的数据;二是,高并发的产生。

2.1海量数据的解决方案

2.1.1缓存和页面静态化

2.1.1数据库优化

数据库优化的方法非常多,常用的有表结构优化,sql语句优化,分区和分表,索引优化,使用存储过程代替直接操作等等一系列的。采用分离活跃数据,把不活跃的数据放在另一个结构相似的表中。批量读取和延迟修改也会是一个不错的方法。

还可以采取读写分离:读写分离的本质是对数据库进行集群,这样在高并发的情况下将数据库的操作分配到多个数据库服务器中去处理从而降低单台服务器的压力。其中数据同步是一个重要的问题。可设置一台服务器为主服务器(负责写和同步),其他服务器为从服务器(负责读),修改操作使用主服务器,然后定期同步到从服务器中,查询操作使用从服务器。

采用分布式数据库。。。。等等

2.2高并发的解决方案

2.2.1应用于静态资源分离

静态资源主要包括图片、视频、和一些资源文件等。与应用服务器拆分,简单易行。

2.2.2页面缓存

将应用生成的页面缓存起来,这样就不需要每次都重新生成页面了,从而减省大量的cpu资源。

2.2.3集群和分布式

集群的每台服务器都具有相同的功能,任一一台都可以处理请求,主要起分流的作用。分布式是将不同的业务放到不同的额服务器中,处理一个请求可能会用到多台服务器,这样也能够提高请求的处理速度。二者可以同时使用。
集群有两种方式:一是几台资源集群,而是应用程序集群。集群的每台服务器都具有相同的功能,任一一台都可以处理请求,主要起分流的作用。

2.2.3反向代理

反向代理是指客户端直接访问的服务器并不是真正提供服务的,它是从别的服务器获取资源的,然后返回到客户端的,对用户是透明的
补充:正向代理:是我们主动使用的,比如翻墙软件。。。

2.3.4 CDN

这是一种特殊的集群页面缓存服务器。

参考:

《看透spring mvc源码解析与实践》

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值