《大型网站技术架构:核心原理与案例分析》笔记02数据库
模式:每个模式描述了一个在咱们周围不断重复发生的问题及该问题解决方案的核心。这样,你就能一次又一次地使用该方案而没必要作重复工做。缓存
网站架构模式:安全
1.分层:服务器
分层是企业应用系统中最多见的一种架构模式,将系统在横向维度上切分红几个部分,每一个部分负责一部分相对比较单一的指责,而后经过上层对下层的依赖和调用组成一个完整的系统。经过分层,能够更好地将一个庞大的软件系统切分红不一样的部分,便于分工合做开发和维护;各层之间具备必定的独立性,只要维持调用接口不便,各层能够更具具体问题演化发展而不须要其余层必须作出相应调整。架构
应用层:负责具体业务和试图展现,如网站首页及搜索输入和结果展现。并发
服务层:为应用层提供服务支持,如用户管理服务,购物车服务等。负载均衡
数据层:提供数据存储访问服务,如数据库、缓存、文件、搜索引擎等。异步
2.分割:分布式
分层是横向方面切分,分割是纵向方面切分。性能
将不一样业务进行分割,例如将购物、论坛、搜索、广告分割成不一样的应用,由独立团队负责部署在不一样的服务器上。
3.分布式:
分布式意味着可使用更多的计算机完成一样的功能,计算机越多,CPU、内存、存储资源也就越多,可以处理的并发访问和数据量就越大,进而可以为更多的用户提供服务。
常见分布式方案:分布式应用和服务、分布式静态资源、分布式数据和存储、分布式计算,还有分布式配置、分布式锁、分布式文件系统等等。
4.集群:
多台服务器部署相同应用构成一个集群,经过负载均衡设备共同对外提供服务。
当有更多用户访问的时候,只须要向集群中加入新的机器便可。同时由于一个应用由多台服务器提供,当某台服务器发生故障时,负载均衡设备或者西戎的失效转移机制会将请求转发到集群中其余服务器上,使服务器故障不影响用户使用。
5.缓存:
缓存就是将数据存放在距离计算最近的位置以加快处理速度。缓存是改善软件性能的第一手段,现代CPU愈来愈快的一个重要因素就是使用了更多的缓存,在复杂的软件设计中,缓存几乎无处不在。大型网站架构设计在不少方面都使用了缓存设计。
常见缓存设计:CDN、反向代理、本地缓存、分布式缓存。
6.异步:
计算机软件发展的一个重要目标和驱动力是下降软件耦合性。异步是指业务之间的消息传递不是同步调用,而是将一个业务操做分红多个阶段,每一个阶段之间经过共数据的方式异步执行进行协做。
特性:提升系统可用性,加快网站响应速度,消除并发访问高峰。
7.冗余:
即数据冗余备份,这样当某台服务器宕机时,能够将其上的服务和数据访问转移到其余机器上。
按期备份---冷备份,数据库主从分离---热备份
大型网站还会在全球范围内部署灾备数据中心。
8.自动化:
在无人值守的状况下网站能够正常运行,一切均可以自动化是网站的理想状态。
9.安全:
密码或手机校验码进行身份验证,网站使用验证码进行识别等。