网站架构设计分析及分层架构要素

2018-05-08 10:54:00 2827 3 编辑:网站建设李工 来源:互联网

为了使网站这个虚拟的大建筑能够应对高并发访问,海量数据处理,高可靠运行等一系列问题,架构要素和分层架构是必不可少的,就犹如盖房子要用建筑材料一层一层盖一样。深正互联网站建设接下来为您一一详细解答。

整个架构一般可以分为 应用层、服务层、数据层。实践中大的分层结构中还可以继续分层,比如应用层还可以继续分为视图层和业务逻辑层,服务层也可以继续细分为数据接口层、逻辑处理层等。

通过分层,把一个庞大的系统切分为不同的部分,便于分工开发和维护;各层之间相互有一定的独立性,在网站的开发中可以根据不同的需求进行相应的调整。逻辑上分层之后,在物理部署上也可以根据需求制定不同的策略,刚开始可以部署在同一台物理机上,但是随着业务的发展,必然要对不同的模块进行分离部署。

分层架构不仅仅是为了规划软件的逻辑结构以便于开发维护,随着网站的发展,分层架构对网站的高并发分布式架构来说尤为重要,进行了分层以后,接下来可以从纵向进行业务分割,根据不同的业务模块一个项目划分成不同的模块交给单独的团队去开发部署,完成后分别部署在不同的服务器上,通过链接进行互联。再根据不同情况来对不同的节点进行冗余来保证网站的高可用性,接下来进行缓存,CDN,反向代理等等的优化。

对于一个高访问量,大数据量的网站我们考虑什么呢?

首先就是性能了,性能是一个网站的的重要指标,除非是没得选择,就这一个网站,不然用户是绝对不会忍受一个超级慢的网站。正因为性能问题无处不在,解决性能问题的方式也各种各样,从用户请求一个 url 开始,进行的每一个环节都可以进行优化;根据上面的分层,可以大致从三个方面进行优化,应用层优化,服务层优化,数据层优化。

涉及到的知识就是 web 前端的优化,应用服务器端的优化和数据的存储,索引,缓存等,这些在后面的内容里会分别展开细说,但性能只是一个网站的必要条件,除此之外,因为无法预知网站可能会面临的压力或是攻击,还要保证网站在各种情境下(高并发,高负载,持续压力不均匀等)保持稳定的性能。包括以下各个方面:性能测试指标、性能测试方法、性能优化策略。

性能测试指标

主要的性能测试指标有响应时间、并发数、吞吐量、性能计数器等。

响应时间

指的是从发出这个请求开始到接收到数据的时间,一般情况下这个时间都非常非常的小甚至小于测试的误差值,所以我们可以采用重复请求的方式来获取具体的响应时间,比如请求十万次,记录总时间,然后计算出单次请求的时间。

并发数

指能够同时处理的请求数目,对于网站而言,即并发用户数。

吞吐量

是单位时间能能够处理的请求数,体现的系统的整体处理能力> 衡量指标有很多,可以是 请求数/秒 页面数/秒 访问人数/天 处理业务数/小时 等> 常用的量化指标有 TPS(每秒事务数) HPS(每秒 HTTP 请求数) QPS(每秒查询数)等。

性能计数器

描述服务器或操作系统的一些性能指标,包括系统负载(System Load),线程数,内存使用,磁盘和网络 I/O 等,当这些值超过警告值(安全临界值)时,就会向开发人员报警,及时处理异常。

性能测试方法

性能测试是一个统称,具体可以分为 性能测试,负载测试,压力测试,稳定性测试。

性能测试

以初期设计的指标为预期目标,不断对系统施压,看系统在预期的范围内,能否达到预期的性能。

负载测试

对系统不断增加并发请求以增加系统压力,直到系统某项或多项指标达到安全临界值,这时继续对系统施加压力,系统的处理能力会有所下降。

压力测试

在超过安全负载的情况下,继续施压,直到系统崩溃或不再能够处理任何请求,以此来计算系统的最大压力承受能力。

稳定性测试

在一定的压力(不均匀施压)下,系统能够稳定的运行较长时间。

性能优化策略

要定位问题产生原因,排查不同环节的日志,分析哪个环节的响应时间与预期不相符,然后分析影响性能的原因,是代码问题还是架构设计不合理,或者系统资源不足,然后根据实际问题进行解决。

高端网站建设定制

对于大型网站而言,出现宕机的情况是可怕的,因为可能有上千万的用户量,短短几分钟的宕机都有可能导致网站声誉扫地,如果是电商类的网站,更可能会导致用户的财产损失,甚至会摊上官司,那时候损失的就不仅是金钱和用户了,因此要保证能够提供每天 24 小时的可用,但实际中服务器并不能保证每天 24 小时都能平稳的运行,可能出现硬件问题,也可能出现软件问题,总之问题总是会有的。

所以我们高可用设计的目标就是在某些服务器宕机的情况下,也能够保证服务或应用正常运行,网站高可用的主要手段是冗余,应用部署在多台服务器上同时提供访问,数据存储在多台数据服务器之间互相进行热备份,这样任何一台服务器宕机都不会影响服务或应用的整体,也不会产生数据丢失。

对于应用服务器而言,多台应用服务器通过一个负载均衡设备组成一个集群同时对外提供服务,当一台服务器宕机后,服务切换到其他服务器上继续执行,这样就可以保证了网站的高可用性,前提是应用服务器不允许存储用户会话信息,否则将会丢失,这样即使用户请求转接到其他服务器上面也无法继续执行。

本站文章均为深正网站建设摘自权威资料,书籍,或网络原创文章,如有版权纠纷或者违规问题,请即刻联系我们删除,我们欢迎您分享,引用和转载,但谢绝直接搬砖和抄袭!感谢...
关注深正互联

15

技术从业经验

多一份方案,会有收获...

联系深正互联,免费获得专属《策划方案》及报价

在线咨询
微信交谈
拒绝骚扰,我们只想为给您带来一些惊喜...
多一份免费策划方案,总有益处。

请直接添加技术总监微信联系咨询

深正互联微信
扫描即可沟通