大型网站架构模式
1. 分层:一般可分为,应用层,服务层,数据层,管理层,分析层;
2. 分割:一般按照业务/模块/功能特点进行划分,比如应用层分为首页,用户中心。
3. 分布式:将应用分开部署(比如多台物理机),通过远程调用协同工作。
4. 集群:一个应用/模块/功能部署多份(如:多台物理机),通过负载均衡共同提供对外访问。
5. 缓存:将数据放在距离应用或用户最近的位置,加快访问速度。
6. 异步:将同步的操作异步化。客户端发出请求,不等待服务端响应,等服务端处理完毕后,使用通知或轮询的方式告知请求方。一般指:请求——响应——通知模式。
7. 冗余:增加副本,提高可用性,安全性,性能。
第一层含义是指多余的不需要的部分,第二层含义是指人为增加地重复部分,其目的是用来对原本的单一部分进行备份,以达到增强其安全性的目的
8. 安全:对已知问题有有效的解决方案,对未知/潜在问题建立发现和防御机制。
9. 自动化:将重复的,不需要人工参与的事情,通过工具的方式,使用机器完成。
10. 敏捷性:积极接受需求变更,快速响应业务发展需求。