网站的架构模式
1.分层、2.分割、3.分布式、4.集群、5.缓存、6.异步、7.冗余、8.自动化、9.安全
1.分层
常用的MVC就属于分层架构,逻辑上将系统横向的切分成几个部分,符合高内聚低耦合的原则,
便于分工合作和维护
2.分割
网站变大时,可以将不同的功能和服务分割开来,形成高内聚低耦合的模块单元,和分层一样
同样便于维护,也便于进行分布式
3.分布式
分层和分割都是在逻辑上进行的切分,分布式时在物理部署上,将不同的模块的部署到不同的
机器上,计算机越多,CPU、内存、存储资源也就越多,能处理的并发访问和数据量也就越大
常用的分布式服务Dubbo,分布式文件系统fastdfs、mfs,分布式数据库
4.集群
分布式后,仍然有些服务访问量较大,这时候就需要将独立部署的服务器集群化,即多台服务器
部署相同应用构成一个集群,通过负载均衡设备共同对外提供服务。从而提高并发能力,也会提高
系统可用性。
5.缓存
缓存将数据放在离用户最近的地方,加快数据访问速度,减小数据库负载压力。
CDN(内容分发网络) :部署在离用户最近的网络服务商,缓存静态资源(较少变化的热点内容)
反向代理
本地缓存
分布式缓存
6.异步
异步架构采用的生产者消费者模式,消息队列如activemq
提高可用性;消费者服务器故障时,数据在消息队列服务器堆积,生产者服务器继续处理请求,无故障
消费者服务器恢复正常后,继续处理消息队列中数据
加快响应速度:生产者服务器处理完请求后,将数据写入队列,不需要等待消费者处理就可以返回,响应延迟减少
消除并发访问高峰:
7.冗余
服务集群防止单点故障,数据库主从复制,
8.自动化
9.安全