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

news/2024/5/9 20:19:17/文章来源:https://blog.csdn.net/a1047953424/article/details/107291056

写在开头:看完chaofanwei关于《大型网站技术架构》一书的阅读笔记,觉得很有用,特此转载留存,对原作者表示感谢

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

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

1、初始阶段的网站架构

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

img

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

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

img

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

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

img

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

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

img

5、数据库读写分离

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

img

 

6、使用反向代理和CDN加速网站响应

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

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

img

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

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

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

img

8、使用NoSQL和搜索引擎

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

img

9、业务拆分

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

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

img

 

10、分布式服务

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

img

————————————————

版权声明:本文为CSDN博主「chaofanwei」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/chaofanwei/article/details/26865169

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

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

相关文章

songtaste网站歌曲真实URL获取

个人挺喜欢songtaste网站的歌曲的,下载方法也层出不穷,可是作为程序员如果不知其中原理的方法真是羞愧。首先简单点的方法当然有google插件这样的嗅探器了,不过这种工具的原理还不是很了解。今天先总结一下songtaste网站部分歌曲的真实下载链…

(转载)如何用PHP开发一个完整的网站 讲解开发流程 多人开发

引言: 一个清楚的目标定位学习 PHP 才更有动力和方向,约有 30% 的 PHPer 因为学习到一半而没有明确的方向而最终放弃或搁浅。 手头收藏一些好的常用类或方法,能提高我们的开发的速度。如:分页、上传、字符过滤、数据库操作、生成 …

IE兼容性视图无法添加网站

今天遇到公司财务的同事需要用IE登入北京银行网银,登入后显示页面不全,只能设置兼容性视图,结果发现兼容性视图死活无法添加,显示下图: 解决方法: 按下winr打开运行窗口,输入regedit回车打开注…

IE兼容性视图无法添加网站

IE兼容性视图无法添加网站,提示输入一个无效域 ,本文将详细介绍如何修复此问题。 解决方法: 按下winr打开运行窗口,输入regedit回车打开注册表编辑器,如下图所示: 定位到HKEY_CURRENT_USER\Software\Micr…

VS2015本地发布以及IIS7部署网站

VS本地发布网站 右击WEB程序集,点击“发布” 在发布选项卡中选择“自定义”,然后输入管理配置文件的名字,点击确定,进入下一步 在发布方法中选择“文件系统”,选择要存储发布文件的位置,点击下一步 在配置中选择“…

CSS+DIV创建一个可爱的小中心网站

有几种不同的方式到垂直中心与 CSS的对象,但它是很困难的选择是正确的。我会告诉你所有我见过的最好的方式,以及如何创建一个可爱的小中心网站。 用CSS垂直居中是不是一件容易的事。有许多不同的方式,在某些浏览器可能无法正常工作。让我们回…

如何正确地优化图像或视频网站

如果,你有一个照片博客或嵌入视频在您的网站有很大的信息和精湛的内容,但有一个问题。搜索引擎无法解释和理解容易,因为他们可以处理文字内容的图片或视频。事实上,有没有文字内容中嵌入视频的网页是相当于一个空白网页的具体原因…

使用HttpSessionListener监听器 监控当前网站在线人数

ServletAPI提供了大量的监听器来监听WEB应用的内部事件,以下简单利用HttpSessionListener监听器来实现监控当前网站的在线人数。 相应代码如下: [java] view plain copy package neo.app.servlet; import java.util.HashSet; import java.util.Map;…

我的网站有第一次的收入了

昨天我申请百度联盟成功了,今天登录百度联盟发现昨天的收入是3.96元,虽然很少,今天收录也掉了30多页 但我还是很高兴,从自学建站到自学SEO将近两年,终于有了第一次收入。 拿 出来献丑了,但是真的很高兴。还…

使用dede系统建设中英文双语网站详解

由于公司要我做一个中英文双语的企业站,而我已经使用DEDE系统把中文页面( http://www.heatpress123.net )都做好了而且已经有了排名所以想在原先的基础上添加一个英文页面,我也在网络上找了很多相关资料,说实话也得到…

百度快照的SEO意义,别再跟风了

所谓 百度快照指的是:几乎每个被百度收录的网页,在百度上都存有一个纯文本的备份文件存贮在百度服务器上,此文件被称为 百度快照。当用户在百度搜索引擎上试图打开某个搜索结果无法打开,或打开速度特别慢时,该网页的百…

Google收录一个新网站要花多久?

几个月前,SE圆桌发起一项调查,内容是“Google收录你的新站要花多久”。 在收到500份回复之后,统计结果已经出来了。 54%的人说1周内30%的人说1天内12%的人说1个月内3%的人说3个月内1%的人说超过3个月 这个站我北京时间2013年3月27日晚上开通并…

卢松松:响应式网页设计与SEO

所谓“响应式网页设计(Responsive Web Design)”也就是自适应,就是可以自动识别屏幕宽度、并做出相应调整的网页设计。目前这种设计已经出现在越来越多的国内网站上,目前Google已经明确表明鼓励响应式网页设计。 (图一,响应式网页设计) 通常在…

SEO实战:网站排名不靠外链靠基础

内容、外链是日常优化工作的必须,由于百度的绿萝算法把外链的质量进行的评估限定,使得一直以外链为主要SEO手段的网站受到了抨击。怎样的网站优化方式才能够让网站稳定,网站排名也能够提升呢?其实网站自身的质量更为重要。今天笔者小丹要分享…

网络经济中的行为模式、社交模式和网站运作周期

行为和思维,可以抽取成模式,就是传说中可以授人的渔。好的思路模式,可以引导别人成果。好的行为方式,可以提高效率,甚至导致商业成功。分析了#购买行为模式#,叶子节点上,就是“营销”层面可以影…

高质量的seo优化方案

作为一名seo,除了要懂得网站seo优化技术,还需要懂得如何分析网站各项数据,并根据分析结果写出一份高质量的seo优化方案,接下来,小刚seo就和大家说说一份高质量的seo优化方案是怎样炼成的。 一、SEO工作的核心所在 ①…

实现四六级网站的复刻

https://download.csdn.net/download/qq_41588302/11859004 还有报名也同四六级一样,我就懒得登了。 这是以前自己一个人花了很长时间,就凭着两本书,一直啃出来的。其中最有意思的是数据库的知识。

ASP.NET MVC项目发布与网站本地部署

1.ASP.NET MVC项目发布 实际就是以打包的方式将编译后的文件整理出来。 首先生成解决方案,保证没有保存. mvc项目—>右键—>发布: 点击发布,即可将项目打包到指定的路径下。 2.安装IIS: 控制面板—>程序—>启用或关闭Windows功能: IIS(Internet Information Se…

为IIS的多个网站设置不同的.net运行框架

在默认情况下,IIS6.0中的多个网站是不能设置为使用不同的.net框架的。但是我们有时候确实就会遇到这种问题,一个网站采用较老的2.0框架开发,而一个新网站采用的是4.0的框,而他们又需要部署在同一台服务器上。虽然IIS6.0可以为每个…

记一次网站备案

用了几个月的免费AWS,感觉非常好用,Amazon的技术实力确实一流,但是最近速度变得非常慢,也不知道是什么原因,于是就买了阿里云的云主机,那就得备案啊。很多人都是谈备案色变,论坛中也是一片骂娘的…