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

news/2024/5/14 12:29:04/文章来源:https://blog.csdn.net/weixin_33894640/article/details/92658136

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

 看完了有一本书,就应该有所收获,有所总结,最近把《大型网站技术架构》一书给看完了,给人的印象实在深刻,再加上之前也搞过书本上讲的反向代理和负载均衡以及session独立存储和缓存,因此书本看起来还是挺通俗易懂的,而且作者李智慧给人的印象(书本)也挺深刻的,我从这本书中也学到了许多,了解的许多,但是理解还是比较抽象的,写出来才是真正的理解,因此准备写一系列的博客来介绍和加深理解大型网站技术架构。

        说道大型网站,就的先说大型网站的特点:高并发,大流量,高可用,海量数据等。下面就说说大型网站的架构演化过程吧。

1、初始阶段的网站架构

            初始阶段都比较简单,通常一台服务器就可以搞定一个网站了,看图。

2、应用服务和数据服务分离

        随着网站业务的发展,一台服务器逐渐不能满足需求;这时候就需要将应用和数据分离,如图。

3、使用缓存改善网站性能

        毫无疑问,现在的网站基本上都会使用缓存,即:80%的业务访问都会集中在20%的数据上。

4、使用应用服务器集群改善网站的并发处理能力

         因为单一应用服务器能够处理的请求连接有限,在网站访问高峰时期,应用服务器会成为整个网站的瓶颈。因此使用负载均衡处理器势在必然。通过负载均衡调度服务器,可将来自浏览器的访问请求分发到应用的集群中的任何一台服务器上。

 

5、数据库读写分离

         当用户达到一定规模后,数据库因为负载压力过高而成为网站的瓶颈。而目前主流的数据库都提供主从热备功能,通过配置两台数据库主从关系,可以将一台数据库的数据更新同步到另一台服务器上。网站利用数据库这一功能实现数据库读写分离,从而改善数据库负载压力。

 

 

6、使用反向代理和CDN加上网站相应

       提高网站的访问速度,主要手段有使用CDN和反向代理。

      CDN和反向代理的基本原理都是缓存,区别在于CDN部署在网络提供商的机房,而反向代理是部署在网站的中心机房,当用户请求到达中心机房后,首先访问的反向代理,如果反向代理缓存着用户请求的资源,则直接返回给用户。

7、使用分布式文件系统和分布式数据库系统

    任何强大的单一服务器都满足不了大型网站持续增长的业务需求。

     分布式数据库时网站数据库拆分的最后手段,只用在单表数据规模非常大的时候才使用。不到不得已时,网站更常用的数据库拆分手段是业务拆分,将不同业务的数据部署在不同的物理服务器上

 

8、使用NoSQL和搜索引擎

       搜素引擎也基本已经形成现在大型网站必须提供的功能了,网站需要采用一些非关系数据库技术如NoSQL和非数据库查询技术如搜索引擎。

 

9、业务拆分

        大型网站为了应对日益复杂的业务场景,通过使用分而治之的手段将真个网站业务拆分成不同的产品线。

         具体到技术上,也会根据产品线话费,将一个网站拆分成许多不同的应用,每个应用独立部署维护。应用之间可以通过超链接建立管理,也可以通过消息队列进行数据分发,当然最多的还是通过访问同一个数据存储系统来构成一个关联的完整系统。

 

 

10、分布式服务

       由于每一个应用系统都需要执行许多相同的业务操作,比如用户管理,session管理,那么可以将这些公用的业务提取出来,独立部署。

转载于:https://my.oschina.net/zhanghaiyang/blog/595896

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

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

相关文章

HTML5 + CSS3 + JS 演示网站

文章来源: http://developer.51cto.com/art/201112/309731.htm 先看一些有趣的东西。这些网站利用JavaScript将Canvas,WebGL,CSS3和HTML5元素这些浏览器技术融合在了一起。通常这些技术只是用来取悦用户,或是在现代的浏览器中显示一些新的功能…

jquery仿网站客服

之前在网上看的一个效果,因为目前在外包公司了。经常要用到这个效果,所以还是保留下比较好。在线预览:http://www.bright2017.top/test1/test1-15/ 出处实在找不到了,就不留原创地址了。

js资源链接jq地址BootCDN 和一些比较好的网站收藏

1.BootCDN:https://www.bootcdn.cn/ 1.1.可以搜素需要的网络资源,非常齐全 2.这个网站将前端的一些东西做了整理,找起来比较方便 2.1 网址: https://www.bestvist.com/nav 2.2内容

网站被黑提醒该站点可能受到黑客攻击,部分页面已被非法篡改

2019独角兽企业重金招聘Python工程师标准>>> 大清早的一上班收到3个网站客户的QQ联系,说是自己公司的网站被跳转到了北京sai车,cai票,du博网站上去了,我们SINE安全公司对3个网站进行了详细的安全检测,发现这…

大型网站技术架构(八)网站的安全架构

2019独角兽企业重金招聘Python工程师标准>>> 从互联网诞生起,安全威胁就一直伴随着网站的发展,各种Web攻击和信息泄露也从未停止。常见的攻击手段有XSS攻击、SQL注入、CSRF、Session劫持等。 1、XSS攻击 XSS攻击即跨站点脚本攻击(…

仿站小工具(获取网站源资源)

仿站小工具 仿站小工具是通过网址下载静态网页的工具。从输入的网址下载html代码,提取出JS、Css、Image、Picture、Flash等静态文件网址,再从下载完好的Css代码中提取出Image静态文件网址,通过网址下载静态文件,根据软件设置好的…

系统项目发布网站

自己做好了一个系统项目后,可以让第二个人随时随地访问,就需要将项目发布到网站上,web端, 1.在VS2012中打开自己的项目,选中项目,右键-发布网站 2. 弹出窗口“发布网站”,“目标位置”&#xf…

安装IIS8.0,ASP以及相关配置,网站搭建

第一大步,请参照这个链接 https://blog.csdn.net/lq18804095672/article/details/106541099 第二大步,在服务器123上,安装IIS8.0 1.找到“服务器管理器”,点击“添加角色和功能”, 2.“添加角色和功能向导”窗口&…

解决网站无法复制文字

1、以360浏览器为例 2、打开一个正常的网页,右键----审查元素 3、在地址栏中输入无法复制内容的网址,即可对所选文件进行指向,然后复制了 以上方法可以复制一段文字,如果要想快速复制整篇,采用如下方法,选…

USBWebserver(网站架设工具)

USBWebserver是一款免费的电脑网站架设工具。该软件可以让用户快速搭建PHP Version、Apache、PhpMyAdmin、MySQL等网站运行必备的主机套件,让你轻轻松松构架自己的网站。 USBWebserver 是款非常好用的一键式本地电脑快速架设PHP网站环境的工具 USBWebserver集成了Ap…

nginx服务器的网站权限问题

有时候我们的网站根目录会从一个目录迁移到另一个目录,如果我们服务器使用的是nginx或者Apache,我们一般会配置好网站根目录后然后往直接把网站解压或者上传到根目录中,这样引起的问题是无法对对文件进行任何的操作导致网站的异常&#xff0c…

网站统计51LA数据引用功能详解及添加方法

新版51啦于2018年6月20日上线数据引用功能!新手站长网来说说数据引用功能的介绍以及使用方法: 什么是数据引用功能?51la数据引用简单来讲,就是把你网站的实时在线人数,今天访问量、昨天访问量、本月访问量、本月总访问…

Chrome68将所有HTTP网站标记为不安全!你的网站HTTPS了吗?

为了使网络更加安全,让更多的互联网用户使用其 Chrome 浏览器,Google 宣布,未来的 Chrome 版本将把所有的 HTTP 网站标记为“不安全(non-secure)”。Chrome68将所有HTTP网站标记为不安全Chrome68在7月将自动标记HTTP为…

阿里云网站域名备案流程全过程(图文讲解)

阿里云网站备案备案很简单,阿里云有专门的备案客服,整个备案过程阿里云百科网分成三部分:备案前提备案中信息填写和材料提交备案等待,阿里云百科网图文讲解阿里云域名备案全过程: 备案前提 网站备案前提准备&#xf…

网站域名备案密码的获取方法

什么是备案密码?备案密码是工信部给的,每个ICP备案号都有一个由工信部颁发的专属密码,备案君分享备案密码的获取方法: 什么是备案密码? 每个ICP备案号都有一个由工信部颁发的专属密码,解铃还须系铃人&…

阿里云服务器新手教程从选配到网站上线全过程

阿里云服务器新手教程从云服务器选配购买、云服务器配置到网站上线全过程,阿里云服务器如何购买?购买后如何使用?新手站长抽时间写了一篇详细的阿里云服务器新手教程,从云服务器选配到网站上线全过程: 阿里云服务器新…

腾讯云服务器安装WordPress网站博客菜鸟教程

WordPress博客网站基于PHP语言,腾讯云服务器安装WordPress所需PHP、MySQL环境,服务器系统无论是Windows还是Linux均可安装WordPress,新手站长网来详细说下使用腾讯云服务器搭建WordPress网站博客菜鸟入门教程: 腾讯云服务器安装W…

使用腾讯云服务器安装WordPress网站图文教程(2步搞定)

腾讯云服务器安装WordPress博客网站教程,腾讯云百科使用Linux镜像系统,先安装宝塔面板搭建LNMP环境,然后在宝塔面板上安装WordPress博客程序,腾讯云百科来详细会说下腾讯云服务器安装WordPress图文教程(2步搞定&#x…

腾讯云2核4G服务器搭建网站支持多少人同时在线?3M带宽并发数计算

腾讯云服务器2核4G3M带宽搭建网站,可以支持多少人同时在线?网站程序不同效率不同,不仅要考虑CPU内存计算资源,还要考虑3M公网带宽速度方面,腾讯云3M带宽下载速度384KB/秒,新手站长来详细说下腾讯云2核4G3M带…

使用云服务器搭建网站选阿里云还是腾讯云?

购买云服务器用于搭建网站腾讯云和阿里云哪个更好一些?无论是阿里云还是腾讯云均提供云服务器和轻量应用服务器,如果是只需要购买一台云服务器的单机Web应用,从性价比的角度考虑,可以优先选择轻量应用服务器,新手站长网…