上节讲了大型网站的演变,今天讲下架构的模式,什么是模式呢?每一个模式描述了一个再我们周围不断重复发生的问题及问题解决方案的核心,这样你就能一次次重用该方案而不必去做重复的工作,可见模式的关键在于可重复性。
网站架构模式的目标:面临高并发访问,海量数据处理,高可靠运行等问题和挑战,我们在实践中提出很多解决方案,主要为了实现网站的高性能、高可用、易伸缩、可扩展、安全等架构目标。
网站架构模式具体方案
分层:分层是一种常见的架构模式,将系统在横向维度上切分为几个部分,每个部分负责单一的职责,然后通过上层对下层的依赖和调用完成整个系统工作。一般大型网站系统都分为下面3层:
-
应用层:负责具体业务和视图展示;
-
服务层:为应用层提供服务支持;
-
数据层:提供数据存储访问服务;
分层架构的挑战:必须合理规划层次边界和接口;
分层架构的约束:禁止跨层次调用及逆向调用(数据层不允许调用服务层,服务层不允许调用应用层)
分割:分层是横向切分,分割则是纵向切分,将不同的功能和服务分割开,包装成高内聚低耦合的模块单元,这样做的好处在于:
-
有助于软件开发和维护;
-
便于不同模块的分布式部署,提高网站的并发处理能力和功能扩展能力;
分布式:对于大型网站,分层和分割的目的都是