·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> 大型网站系统架构设计主要要素:聊聊架构一

大型网站系统架构设计主要要素:聊聊架构一

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23

大型网站系统架构设计主要要素:聊聊架构一

原标题是<不懂可以问,但是不要装逼>一:看系统架构,后来觉得不妥,还是改改吧。

所有内容不涉及系统架构,只涉及设计架构中注意的要素,方向有了,架构自然就出来了。细节、代码后续再贴出来,感谢大牛X-Ts提供后续代码指导,此部分内容同样借鉴之前的老师的指导。

从层次看网站系统架构:

一、前端架构

1.浏览器优化技术:通过优化响应页面,为浏览器页面的加载和现实提速,常用的有页面缓存,合并HTTP减少请求次数、页面压缩等。

2.前端的分布式:静态资源,如JS、CSS等文件不是在专门的服务器集群上(开发过程中,可使用公共的二级域名,前期并非放在独立的服务器上,为后续的业务扩大化作扩展),和Web应用动态业务的相关内容做分离,通过最短路径获取内容。

3.图片资源服务:此处指用户上传的图片,并非网站的按钮以及LOGO(这些文件属于上段提到的静态资源)。

4.反响代理:提供页面缓存。

5.DNS:将域名解析成地址,利用dns可以实现dns的负载均衡。

二、应用层架构:业务逻辑的处理。

1、开发框架:一个好的开发框架是关注点分离的,各层各行其事,易于协作。页面渲染,动态内容和静态页面模板集成起来,最终集合一起显示给用户。一款优秀的模板引擎能在开发中干净、整洁、关注点分离透彻等。

2、负载均衡:将多台应用服务器组成一个集群,通过负载均衡将用户请求分发到不同的服务器上,减少服务器压力,通过冗余技术,达到软双机热备效果。

3、Seesion维护:此目的实现高可用的应用服务器集群,应用服务器设置为无状态,不保存用户请求的上下文,但需要保持用户会话状态,可使用软技术实现Seesion管理。。。

4、动态页面静态化:访问量大而不频繁更新的动态页面,使其静态化,根据请求HTTP的请求原理,到达优化加速的手段,此处反向代理,CDN,浏览器缓存等。

5、业务拆分:业务增多,子系统新增,形成了规模小的子产品,独立开发、实施、维护,降低系统的耦合度,便于系统中数据库分库。

6、虚拟化服务器:将一台物理机虚拟化多台虚拟服务器,利用较少的资源构建高可用的应用服务器集群。微软提供了Hyper-V

三、服务层架构:

1、分布式消息:利用消息队列,实现业务之间,业务、服务之间的异步消息的传递,同时解决业务间低耦合的关系。

2、分布式服务:SOA

3、分布式缓存:软分布式缓存,不一定要从集群上解决,要尽可能的利用软件、应用程序。

4、分布式配置:动态配置分布式缓存等,例如,加入可配置参数列表,即可添加分布式缓存服务器。

四、存储层架构:数据、文件持久化的存储访问与管理服务。

1、分布式文件:图片或其他资源数量较大,如图片,网页,视频,伸缩性设计分布式文件系统,当前有很成熟的相关的软系统架构。

2、关系型数据库:通过在应用程序的数据库访问层增加数据库访问路由功能,通过业务配置将数据库的访问路由到不同的物理数据库上,为后续分布式也打下基础。

3、NoSql:其读写速度非常快,远优越于关系型数据库,当然各版本在内存管理,数据模型等各有优缺点,做缓存等毋庸置疑。

4、数据同步:数据库同步技术已经很成熟,多数据库之间同步也存在很多的压力。可通过DB的事务日志或者Nosql写Log,同步到其他数据点,根据Log进行重演。

五、后台框架:

1、搜索引擎:网站内部引擎,若对数据增量及全量更新、构建索引,可通过后台系统定时执行,同时可以借鉴第三方成熟的框架,如Lucene.Net、HubbleDotNet等

2、数据仓库:提供完整的离线数据,提供数据分析以及数据挖掘服务。

3、数据采集与监控:采集的数据以图表的形式展示,对网站的监控运作状况有及时的了解,当然还有更先进的运维方式。

4、浏览器数据采集:在网页中嵌入JS脚本或通过其他手段获取采集用户浏览器的环境以及操作行为,分析其行为,对用户的友好度以及系统的安全性等做数据采集。

5、服务器业务数据采集:采集服务端用户的操作日志。

6、系统监控:采集的数据以图表的形式展示,对网站的监控运作状况有及时的了解,当然还有更先进的运维方式。

7、系统预警:数据未正常采集,超过了系统的阈值,系统承载的负载过高,通过邮件、短信、语音电话等发出相关的信号。

六、安全架构:

Web攻击:当前,以Http请求的方式发起的攻击,最大危害是XSS和SQL注入。代码的规范性有待注意。

当然还是有其他的一些CSRF攻击、ErrorCode、HTML注释、文件上传、路径遍历、表单Token、

数据保护:敏感信息加密传送。