大型网站架构技术模型

news/2024/5/12 7:44:57/文章来源:https://blog.csdn.net/worn_xiao/article/details/80637756

  网站技术架构设计模式

1.1 分层

如下所示网站基本分层

 

 

三层架构逻辑上可以部署在同一台物理机上,但随着网站业务的发展,必须要对已分层的模块进行分开部署,也就是三层结构分别部署在不同的服务器上。使网站拥有越来越多的计算资源以应对越来越多的用户访问。

1.2 分割

    网站越大,功能越复杂,服务与数据处理的种类也越来越多,将这些不同的功能与服务分割开来,包装成高内聚,低耦合的模块单元。一方面有助于软件的开发与维护。另一方面便于不同模块分布式部署,提高网站的并发能力与功能处理能力。

例如一个大型网站将购物,论坛,搜索,广告分割成不同的应用。由独立的团队负责部署在不同的机器上。

1.3 分布式

1.3.1优点

使用更多的计算机完成同样的工作,计算机越多,CPU,内存,存储资源也就越多,能够处理的并发访问量就越大,进而能够为更多的用户提供服务。

1.3.2缺点

1)分布式意味着服务调用要通过网络,可能对性能造成严重的影响。

2)服务器增多,宕机的可能性也就概率也就增大了,一个服务器不可用,很有可能导致多个服务器不可用,使得网站可用性降低。

3)分布式数据一致性难以得到保证,分布式事务难以控制,分布式部署增加管理的成本。

1.3.3分布式种类

1.3.3.1 分布式应用与服务

将分层与分割后的业务模块独立部署,可以提供高并发,实现模块的复用

1.3.3.2 分布式静态资源

网站的静态资源如JS,CSS,Logo图片等独立部署,并采用独立的域名,即我们常说的网站的动静分离。可以减轻服务器压力,提高并发加载的速度。并且由前端团队来维护达到一个比较好的分工。

1.3.3.3 分布式数据与存储

大型网站要处理以P为单位的海量数据,单台机器就算进行了磁盘扩容的情况下也存储不了那么多大的容量的时候就采用分布式存储,除了对传统数据库进行分布式部署外,还要对nosql数据库进行分布式部署。

1.3.3.4 分布式计算

像搜索引擎的构建,数据仓库的数据分析统计,这些计算规模非常的庞大,目前很多企业都使用hadoopmapreduce分布式计算框架来处理此类计算,目的是不移动数据,将计算程序分发到数据的位置加速计算能力。

 

1.3.3.5分布式协同

1.3.3.6 分布式文件系统

由于庞大的文件的需要系统进行存储,比如我们的导出模板,图片文件,视频文件,等等的文件,对文件的大小进行计算,通过时间周期的运算,可以大概的估算系统文件的最大生命周期,也可以通过对服务器进行磁盘的增加来进行扩容。但是类似于阿里巴巴这样的体量级的网站来说,磁盘扩容已经解决不了了,这个时候可以把文件分别存储到多台服务器上,通过文件服务器的管理者来管理文件的分配与访问,通过多机集群的方式来保证文件的容量与文件的高可用

1.3.3.7 分布式任务调度

     任务是指在某个时间多少点周期性的做某个事情,但是由于我们要保证系统的高可用,就异味着要把任务放到不同的机器上,这个时候怎么保证任务的不重复执行,怎么保证一个机器死亡以后,另外的机器接管死亡机器的任务继续执行任务,怎么对大量的任务进行分配,由不同的机器来完成不同的任务,这就是我们通过分布式任务调度系统来完成的任务。

1.4 集群

由于用户访问的集中,还需要将独立的服务器,集群化,多台服务器部署相同的应用构成一个集群,通过负载均衡策略对外提供服务。当其中一台机器发生故障,则负载均衡机制,将失效转移到集群中的其他服务器上,提高可用性。

 

1.5 缓存

1.5.1 CDN

用户的请求总是先到达,他的网络服务商哪里,在这里缓存一些网站的静态资源,可以以最大的速度返回给客户,如视频或着门户网站会将访问量大的热点内容缓存到CDN

1.5.2 反向代理

用户请求到达数据中心的时候,最先访问的就是反向代理服务器,这里缓存网站的静态资源,无需将请求继续转发给应用服务器,就能返回给客户。

1.5.3 本地缓存

在应用服务器本地缓存的热点数据,应用程序可以在本机内存中直接访问数据,而无须访问数据库。

1.5.4 分布式缓存

大型网站的数据量非常庞大,即使只缓存一小部分,需要的内存空间也不是单机能承受的,所以除了本地缓存,还需要分布式缓存。将数据缓存在一个装门的分布式缓存集群中。

1.6 异步

业务之间的消息传递不是同步调用的,而是将一个业务拆分成多个阶段,每个阶段之间通过共享数据的方式,异步执行进行协作。单独部署的时候,多线程共享内存的异步队列来实现异步,分布式部署的时候通过分布式消息队列来实现异步,可以看做内存队列的分布式部署。使用异步消息队列可以提高系统可用性,当消费者故障,生产者可以继续进行生产,数据可以堆积在消息队列中,等消费者恢复故障以后再回来对消息队列进行消费。将数据写入消息队列就可以直接响应给用户请求,减少响应延迟。消除并发访问高峰,访问的高峰期,可以把突然增加的访问数据放到消息队列中,等消费者依次去处理。

1.7 冗余

为保证服务器的高可用,负载再小的服务器也至少要部署两台构成一个集群。为保证数据库的高可用,也一样,要进行读写分离,提高访问效率。

1.8 自动化

1.8.1 自动化监控

1.8.2 自动化报警

1.8.3 自动化失效转移

1.8.4 自动化失效恢复

1.8.5 自动化服务降级

1.8.6 自动化分配资源


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_813174.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大型网站技术架构(一)--大型网站架构演化

转自 https://blog.csdn.net/chaofanwei/article/details/26865169 看完了有一本书,就应该有所收获,有所总结,最近把《大型网站技术架构》一书给看完了,给人的印象实在深刻,再加上之前也搞过书本上讲的反向代理和负载…

大型网站技术架构之性能

1.1 网站性能测试 1.1.1 用户视角下的网站性能 用户在浏览器上直观感受的网站响应色度的快慢,用户感受到的时间,包括用户计算机和网站服务通信的时间,网站服务处理的时间,用户浏览器构造请假解析响应的时间。浏览器,带…

高性能网站实用技巧之消息队列

什么是消息队列? 消息队列( Message Queue )是一种进程间通信或同一进程的不同线程间的通信方式。进程或者线程之间通过 消息 进行通信,消息发送后可以立即返回,由消息系统来确保信息的可靠传递,消…

现实世界的Windows Azure:专访PrivacyCentral网站创始人、CEO Zoiner Tejada

作为现实世界Windows Azure博客系列中的一部分,我联系了PrivacyCentral网站创始人、CEO Zoiner Tejada,来探寻该公司是如何利用Windows Azure平台及Ruby语言来搭建其强大的在线隐私服务。点击这里来了解PrivacyCentral的成功案例。下面我们来看看Tejada先…

后台网站制作步骤

撰写时间:2019年5月14日 星期二 作者:邱锡纶 首先我们可以看见这个后台网站我已经做好了,现在我就来总结一下这个后台网站的制作步骤,这个网站是我慢慢的一步一步慢慢的想,慢慢的改,改出来的,…

网站的设计构思

(撰写时间:2019年5月20日星期一 作者:邱锡纶)网站的好坏,除了外观,还有所实现的功能。还有安全性等。一般的企业网站要 实现的功能较少,应该价格比较低。但因为是企业,所以做网…

如何制作一个好网站

(作者:邱锡纶 撰写时间:2019年7月10日星期三)根据我在网上查到“怎么制作一个高端的好网站”的结果是高端网站建设没有那么简单,需要做市场调研、营销策划、搜索引擎优化、品牌视觉设计,还有用户体验&am…

用php写的亲亲鲜花网站_文案写的好的大佬,原来是用了这14个文案网站?

越来越多的人在自媒体文案上有一定的造诣,文案功底越来越强,当然也是他们不断的学习和利用好的平台工具让自己站的更高,借力就可以四两拨千斤,原来是他们用对了文案网站和视频软,建议你也赶紧收藏,文案写作…

增加索引会锁表吗_网站百度排名,内容增量一定要是权重指标吗?

声明:本文来自于微信公众号 蝙蝠侠IT(ID:batmanit),作者:蝙蝠侠IT,授权站长之家转载发布。如果你在长期做百度SEO一定会有这样一个明显的感觉,通过每天大量的输出相关性的内容,实际上是有利于提高网站的抓取频率与整站的权重。而对…

mongodb上一篇下一篇_一篇SEO领域的文章,直接被送上首页了

前几天写了一篇关于SEO优化的文章,今天无意间发现,这篇文章居然被放到首页了。以下是截图:那么我是怎么做到的呢?这样做有什么好处呢?这样做好处就是,可以提高你的品牌词曝光率,有一定的几率会让…

代理ip网站的ip怎么来的_代理IP的三大功能

使用代理IP来工作的人越来越多,许多用户都体验到了代理IP的便利和优势,特别是它变换IP地址的功能,对很多网络行业都有着非常大的帮助。除了变换IP地址之外,代理IP还有哪些高端大气上档次的功能呢?下面就由天启代理IP来…

educoder java答案数组进阶_十个适用于Java高级开发人员的交流网站

下面这些是我收藏的适合高级Java程序员去的网站,这些网站的内容包括了IT新闻、问题解答和职业面试等信息。好网站的核心在于其高质量的内容。在我看来,这些都属于最优秀的网站。我在介绍这些网站的同时也会分享一些自己的学习方式。你可能会认为其实任何…

如何将瀑布流里的图片加链接_如何提高网站建设效率

互联网时代,当我们在进行项目开发的时候,我们都在注重效率的提升,毕竟时间就是金钱。如何在有效的时间内进行高效率的开发建设,是我们从业者应该重视的问题。我们很多时候都注重网站建设本身,想着如何进行界面、代码优…

网站建设中 模板_使用模板建设网站有哪些弊端?

在最近一段时间内,我们曾经收到过了好几位新客户的请求,在这些请求中有很多都是来要求我们去帮助他们修改现在的已有网站。首先来说我们公司主要是定制和开发网站。在我们公司里也拥有很多非常专业的程序人员,无论是前端的设计和开发还是在后…

850是什么意思_850万人被丑拒!想加入这个交友网站咋这么难?

美国有一个交友网站,特别特别看脸。其实在交友网站上,大家注重颜值是很正常的啦。但这个网站已经把“看脸”做到了极致,域名就显示了它的核心精神:beautifulpeople.com(美人)。很多人都被它主打的会员高颜值特点吸引过来&#xff…

Linux环境下网站部署常用命令

1. 查看当前文件夹下面文件夹的大小 分析:除了常规查看,还可以通过分析文件夹,磁盘不够可以清理缓存。 du -h --max-depth1 2. 拷贝文件到指定的文件夹下面 分析:移动文件,不多说。 cp -R /data/www/public/images…

PHP结合阿里云实现网站滑块验证码的具体实例

目录滑块验证码样例关于滑块验证码开发准备系统编码附录滑块验证码样例 关于滑块验证码 滑块验证码主要的作用是方便用户进行快捷验证操作,但是同时要合理的辨别到底是机器操作还是人工操作,这一点显得难度比较大,是属于人机识别的智能开发范…

WEB网站常见受攻击方式及解决办法讲解

系统安全是一个经久不衰的话题,也是一个中大型系统必须考虑的问题,这是一门专门的学问,无数专家学者都在为之努力,今天小编就来向大家介绍一下常见的网站攻击方式以及避免攻击的方案。 跨站脚本攻击(XSS) XSS(Cross Site Scripti…

网站优化之文章

如何让所写文章被百度收录? 1、为什么自己原创高质还不收录? 提高收录量的前题两个,一是文章内容独特,二是网站本身权重高。谁说原创百度一定收录呢,你说的高质量原创,对于搜索引擎未必(或者说…