网站框架设计思路

2022-12-04 11:06 网友投稿
本文主要针对网站架构各个方面的建设进行简单介绍。以下就是赢在威客网小编为您整理的网站框架设计思路。

架构模式

先来说说模式: 每一个模式描述了一个在我们周围不断重复发生的问题及该问题解决方案的核心。这样,你就能一次又一次地用该方案而不必做重复工作 。

先来说说常见的网站架构模式。这里没有涉及具体实现过程,只是简单介绍其思想和原理,方便日后有用到再深入了解。

分层


分层是企业应用系统中最常见的一种架构模式,将系统在 横向维度 上切分成几个部分,每个部分负责一部分相对比较单一的职责,然后 通过上层对下层的依赖和调用 组成一个完整的系统。

分层结构对网站支持高并发向分布式发展至关重要,所以 在网站规模很小的时候就应该采用分层的架构,这样将来网站做大时才能有更好地应对 。

所以说我们在设计一个新项目的架构时,就需要考虑到分层。不能等到日后项目做大了,再重构就耗时耗力了。

分割

上面的分层是将软件在横向方面进行切分,而分割是在 纵向方面 对软件进行切分。 将不同的功能和服务分割开来,包装成高内聚低耦合的模块单元 。

比如在应用层,将购物、论坛、搜索、广告分割成不同的应用,由独立的团队负责,部署在不同的服务器上;

在同一个应用内部,如果规模庞大业务负责,会继续进行分割,比如说购物业务,可以分割为机票酒店业务、3C业务、小商品业务等更细小的粒度。

分布式

对于大型网站, 分层和分割的主要目的是为了切分后的模块便于分布式部署 。


利用分布式解决网站高并发的问题的同时,会带来其他问题:

分布式意味着服务调用必须通过网络,这可能对性能造成比较严重的影响;

常用的分布式方案有以下几种:

分布式应用和服务:将分层和分割后的应用和服务模块分布式部署,使不同应用复用共同的服务,便于业务功能扩展。

分布式静态资源:网站的静态资源如js、css、图片等独立分布式部署,并采用独立的域名。减轻应用服务器的负载压力,并通过独立域名加快浏览器并发加载速度。

分布式数据和存储:数据量过大,一台机器无法存储。

分布式计算:后台业务需要处理,包括搜索引擎的索引构建、数据仓库的数据分析统计。通过Hadoop及MapReduce分布式计算框架进行批处理计算

集群

使用分布式已经将切分后的模块独立部署,但是 对于用户访问集中的模块,还需要将独立部署的服务器集群化 ,多台服务器部署相同应用构成一个集群,通过负载均衡设备共同对外提供服务。

即使是访问量很小的分布式应用和服务,也会部署两台服务器构成一个小的集群,目的就是 提高系统的可用性 。

声明:该内容系网友自行发布,所阐述观点不代表本网(威客牛)观点,如若侵权请联系威客牛删除。