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

news/2024/5/13 15:54:05/文章来源:https://blog.csdn.net/weixin_33688840/article/details/92648630

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/597501

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

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

相关文章

一步步构建大型网站架构

2019独角兽企业重金招聘Python工程师标准>>> 之前我简单向大家介绍了各个知名大型网站的架构,亿万用户网站MySpace的成功秘密、Flickr架构、YouTube网站架构、PlentyOfFish 网站架构学习、WikiPedia技术架构学习笔记。这几个都很典型,我们可以…

息壤网络出现问题,大批网站受灾

很久没有更新自己的博客,今天上去看看,看看不要紧,出了大问题了!我的博客是息壤的虚拟主机,放在北京亦庄IDC,网络速度还行。可是所有的php页面都不正常,出现如下提示:CGI/PHP程序错误…

大型网站技术架构(三)--架构模式

作者:13 GitHub:https://github.com/ZHENFENG13 版权声明:本文为原创文章,未经允许不得转载。 此篇已收录至《大型网站技术架构:核心原理与案例分析》读书笔记系列,点击访问该目录获取完整内容。 前言 模式&#xff1a…

服务器搭建网站完整教程

服务器最大的用途,就是可以搭建网站,许多人都认为搭建网站是一件很难的事情,因为包含许多的比较专业东西,比如服务器、编程之类的,确实,在几年前是这样的,普通人想要自己做一个网站太难了 但是随…

一起学爬虫——如何爬取通过ajax加载数据的网站

2019独角兽企业重金招聘Python工程师标准>>> 一起学爬虫——如何爬取通过ajax加载数据的网站      目前很多网站都使用ajax技术动态加载数据,和常规的网站不一样,数据时动态加载的,如果我们使用常规的方法爬取网页&#xff0c…

大型网站技术架构(二)架构模式

2019独角兽企业重金招聘Python工程师标准>>> 每一个模式描述了一个在我们周围不断重复发生的问题及该问题解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复工作。 所谓网站架构模式即为了解决大型网站面临的高并发访问、海量数据、高可靠…

Web 2.0网站的九个特点

作者: 阮一峰 日期: 2007年11月26日昨天晚上,我在看一本书《Amazon.com Mashups》,里面总结了web 2.0网站的九个特征。我觉得总结得很好。自从“web 2.0”这个名词被发明以来,就一直是一个涵义模糊的词,谁也…

登录各网站的字体异常小

今天同事二部刘洋说, 他的登录界面字体异常的小,我也感到莫名其妙,我好想没有遇见过这样的事情,360浏览器不行,IE也不行. 登录百度空间等其它网站也不行. 只好在网上寻找高手. 还好,很快就找到了. 以下是摘自网络高手的…

当你的网站被疯狂攻击时你能做什么?

前言自开始搭建网站八爪鱼招标网到现在大概有四个多月的时间,搜索引擎收录方面也从零收录逐渐的发展到在百度有四十万的收录,在360搜索有四万多的收录,搜索引擎流入的流量也慢慢增多,今天上班时 发现网站出现有故障,主…

网页素材大宝库:40套高质量的网站纹理背景素材

对于设计师来说,高质量的网站纹理背景图片是非常有价值的素材。在网上能搜索到各种眼花缭乱的纹理背景资源,但是要为网站选择合适的高质量背景还是非常困难的。下面分享向大家分享40套免费的高质量网站纹理背景图片素材,赶紧为你的网站换上&a…

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

2019独角兽企业重金招聘Python工程师标准>>> 看完了有一本书,就应该有所收获,有所总结,最近把《大型网站技术架构》一书给看完了,给人的印象实在深刻,再加上之前也搞过书本上讲的反向代理和负载均衡以及ses…

网站页面静态化方案

在大型网站中,访问者看到的页面基本上是静态页面。为什么都要把页面静态化呢?把页面静态化,好处有很多。例如:访问速度快,更有利于搜索引擎收录等。目前主流的静态化主要有两种:一种是通过程序将动态页面抓…

分享25个优秀的活动邀请网站设计案例

互联网出现以前只能用纸和笔制作简单的邀请函,如今婚礼、活动和会议等邀请都可以做成非常有创意的网页了。所以,今天本文要与大家分享的是25个优秀的活动邀请网站设计案例。 1. Herra & Viking 2. Camp Firebelly 3. Edinburg2Liverpool 4. Evening …

企业网站架构之Nginx详解原理以及工作模块;源码Lnmp架构

2019独角兽企业重金招聘Python工程师标准>>> Nginx详解及lnmp环境架构 一、Nginx详解以及优点 在当前互联网环境下,一般高端的服务前端都采用nginx作为web前端,而更多的都是采用lnmp架构,真正的后端服务器才会采用apache. 为什么这么做,要取决于nginx和apache两者之…

开发人员比较熟悉的几个网站

我们在开发项目的时候,大多数模块都是逐字逐句敲打出来的,然而随着开源的蓬勃发展,涌现出了好多优秀的开源项目,这些项目不仅能加快开发应用,而 且能给我们的开发带来灵感。如果开发人员能灵活应用好这些优秀的开源项目…

linux定义数组指针,C语言数组指针_Linux编程_Linux公社-Linux系统门户网站

这两天学习数组指针,分享一下,首先是简单的一维数组定义一个数组int arr[5]; arr是指向数组第一个元素的int类型指针,arr1就是指针数组第二个元素的int类型的指针,*arr就是取这个指针里面对应的值,这个比较好理解int a…

nodejs开发独立网站 包含http和socket编程

这个项目 翼 主要是想通过nodejs快速搭建一个网站的后台来处理html页面和socket状态确认的功能。实现的功能主要是用户系统的注册、登陆、个人信息录入以及支付等功能;socket实现消息的快速交换,避免页面切换而实现状态的改变。这个是今天通过nodejs写的…

zabbix监控web网站的性能

检测流程1. 打开网站:如果http code为200,并且响应的html中包含Zabbix SIA表示打开成功(zabbix页面有这个标示)2. 登陆后台:post用户名和密码到index.php,如果响应200,那表示post成功。并且通过…

一些视频教程网站推荐

程序员是一个艰苦的职业,因为作为程序员总是要取追逐和学习日新月异的各种编程语言和技术,而也正是因为这样才让程序员的自学能力往往强于其它从事其它职业的人员。程序员的会从各种渠道获得学习资源,包括书籍、博客、论坛、社区、搜索、交流…

提高网站访问速度

为什么80%的码农都做不了架构师?>>> 1 减少HTTP请求数量 (Minimize HTTP Requests) 80%的用户响应时间被花费在前端,而这其中的绝大多数时间是用于下载页面中的图片、样式表、脚本以及Flash这些组件。减少这些组件的数量就可以减少展示页面…