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

news/2024/5/20 13:20:26/文章来源:https://blog.csdn.net/weixin_34216107/article/details/92650891

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

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

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

相关文章

热门搜索怎么实现_SEO优化怎么样呢?如何做seo?

SEO优化怎么样呢?如何做seo?网站上线后不是给自己看的,更多的情况下是给用户看的。seo优化的作用在于提升网站关键词自然排名,便于用户搜索,便于提高用户通过相关关键词看到网站的概率。通常所说的搜索引擎优化&#x…

服务器站点建立,Windows Server通过IIS创建站点

Windows Server 2003通过IIS创建站点操作步骤1、首先建立一个目录作为网站目录,用于存放网站程序,以网站目录创建到C:\wwwroot为例,如下图:2、创建站点:打开IIS,右击网站选项,新建一个网站&…

安全频道支持出错(页面)_网站页面、图片服务器、数据库服务器等分析

网站页面、图片服务器、数据库服务器等分析1、HTML静态化 其实大家都知道,效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采 用静态页面来实现,这个最简单的方法其实也是最有效的方法。但是对于大量内容并且…

ubuntu 能解析域名但ping不通_域名无法打开网站的常见原因和解决办法

在网站优化中,最怕就是遇到网站无法打开,常见的就是域名无法打开网站,遇到这个问题,说明网站网站肯定某个环节出了问题。这里就给大家列下常见域名无法打开网站的常见原因和解决办法。第一、网站打开提示域名没有解析或者备案&…

url模糊匹配优化_Excel对引擎优化的模糊查找:轻松的404和网站迁移重定向

近年来,搜索引擎优化的本质已经变得越来越数据驱动了,为人工智能或自然语言处理等创新趋势铺平了道路。这也为聪明的营销人员创造了机会,他们热衷于使用谷歌Sheets或Excel等日常工具来自动完成耗时的任务,比如重定向映射。感谢我的…

高德地图获取圆形区域_强烈推荐,两个找地图素材的网站

大家好呀,我是三石~在PPT的制作中,我们会经常使用一些地图素材。比如这样的~但是呢,自己去网上找的素材都是这样的。这样的地图素材在PPT中不容易编辑。今天和大家分享一下,寻找地图素材的方法。1、高德地图提到高德地图大家都会想…

php网站是视屏自动播放,如何用HTML5在页面中插入可自动播放的视频

大家在浏览网站时有没有注意到网站上有视频,音频等,正在学习HTML和CSS的小伙伴,你知道如何用HTML5在页面中插入视频并自动播放吗?这篇文章就和大家讲讲html5如何插入视频以及HTML插入视频的代码,感兴趣的小伙伴可以参考…

服务器上网站上的数据库密码,云服务器上数据库密码

云服务器上数据库密码 内容精选换一换文档数据库服务支持开启公网访问功能,通过弹性IP进行访问。您也可通过弹性云服务器的内网访问文档数据库。要将已有的MongoDB数据库迁移到文档数据库,需要先使用mongoexport工具对它做转储。再通过弹性云服务器或可访…

html动态添加图片根目录路径不显示_网站SEO优化技巧,静态路径与动态路径

什么是动态路径,静态路径答:路径指的就是网址URL。究竟什么是动态路径,静态路径,他们的区别是什么呢?动态路径一般是指在我们的网站根目录找不到这个文件,数据是保存在数据库的,每次打开页面就会…

Android爬虫Jsoup爬取某招聘网站数据并保存为exceL文件

说明此项目仅用于学习目的,勿做其他用途。 此项目主要用到了android Jsoup和jxl框架 添加项目依赖,主要是jxl和jsoup: dependencies {implementation org.jsoup:jsoup:1.9.2implementation fileTree(dir: libs, include: [*.jar])implementat…

基于dreamweaver软件设计和开发一网站_基于SpringBoot开发一套完整的项目(一)准备工作...

1.1 SpringBoot简介① 为所有Spring 开发提供一个更快更广泛的人门体验。② 零配置。无冗余代码生成和XML 强制配置,遵循“约定大于配置” 。③ 集成了大量常用的第三方库的配置, Spring Boot 应用为这些第三方库提供了几乎可以零配置的开箱即用的能力。…

梅林 php mysql_k3梅林7.7!完美安装onmp!!!K3架设php网站,博客,云盘,数据库!!!...

本帖最后由 chengmeiqq 于 2018-3-19 16:16 编辑k3梅林7.7!完美安装onmp!!!phpMyAdmin-Owncloud-Kodexplo...固件: K3_Melin_11.16_X7.7.trx 刷机我就不说了-------------------------------------- 以下都架设下K3路由器上面梅林…

Php仿手机网站教程,HTML5仿手机微信聊天界面

这篇文章主要为大家详细介绍了HTML5仿手机微信聊天界面的关键代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下给大家带来的是HTML5仿手机微信聊天界面,截图效果如下:源代码如下:XML/HTML Code复制内容到剪贴板H…

html5blog简单特效代码,个人博客网站背景视觉滚动特效代码

之前一直注重模块的视觉滚动特效以至于忽略了图片背景的视觉差滚动特效,今天把小清新主题更新了图片背景视觉差特效,记录下代码,有喜欢的自己参考教程自己动手操作下。这是在网络上找到的一款超级轻量级的jQuery视觉滚动特效代码,…

又见到微软的一处网站错误

如图:是个flash,很奇怪为什么不是silverlight。而在微软的网站上发现错字似乎也不是第一次了。----------------------------问题跟踪:2007年9月24日14:00尚未得到微软的任何答复,很奇怪,往常都是很快的.另外,这个界面下的欧岩亮, 王玥与杨枫的链接都失效了,看样子…

网站 mysql 备份,mysql网站程序以及数据库实时备份方案

Mysql1和mysql2都配置lamp环境,这边就不在叙述,网站默认路径 /var/www/html/一:在mysql1上的安装配置(网站程序在mysql1)1.首先下载并且安装inotify,rsyncInotify的安装[rootmysql1 ~]# tar zxvf inotify-tools-3.14.tar.gz[rootm…

java与seo_seo和java哪个更好

一个seo行业站点,科学的内容制作应该与seo相关,且内容本身是有人搜索的。seo和java哪个更好是有人搜索的语句,且与seo是强相关的,对于seo教程自学网来讲,这样的内容再适合不过了。 任何一门技术,如果精通&a…

为SharePoint网站创建自定义导航菜单

相信不少人都希望把SharePoint网站内置的那个顶部导航菜单,换成自己希望的样式。由于SharePoint 2007/2010的网站导航基本上基于标准的ASP.NET SiteMap模型,所以只要你对ASP.NET SiteMap有一些了解,就能创建一个自定义的导航菜单。 在开始之前…

高并发,高负载网站架构知识汇总

博客已经搬家,请访问如下地址:http://www.czhphp.com :硬架构 1:机房的选择: 在选择机房的时候,根据网站用户的地域分布,可以选择网通或电信机房,但更多时候,可能双线机房…

大型网站动态应用系统架构

动态应用,是相对于网站静态内容而言,是指以c/c、php、Java、perl、.net等服务器端语言开发的网络应用软件,比如论坛、网络相册、交友、BLOG等常见应用。动态应用系统通常与数据库系统、缓存系统、分布式存储系统等密不可分。 大型动态应用系统…