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

news/2024/5/9 22:18:19/文章来源:https://blog.csdn.net/weixin_34417814/article/details/92654363

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

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

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

相关文章

linux 查看机器硬件配置,在linux下如何查看机器硬件配置?_网站服务器运行维护...

在windows中用鼠标选定多个不连续文件的操作是什么_网站服务器运行维护在windows中用鼠标选定多个不连续文件的操作是:首先打开需要选定的文件;然后按住【Ctril】键不放,单击需要的文件;最后出现选中状态即可。在linux下如何查看机…

开源网站分析软件Piwik的数据库表结构

文章引用:【http://www.biaodianfu.com/piwik-database-schema.html】 Piwik是一套基于PhpMySQL技术构建,能够与Google Analytics相媲美的开源网站访问统计系统,前身是phpMyVisites。Piwik可以给你详细的统计信息,比如网页浏览人…

使用最新 solr4.10 快速开发团购网站等垂直搜索网站

说明: solr 是一个非常完善的开源项目,非常优秀,他不紧紧是做个索引这么简单,而是可以做成一个垂直的网站,比如团购网站,快速搭建页面。而且solr带了一个非常优秀的管理后台。可以查看管理,导入…

发现一个国外的学习网站

一个国外的学习网站 udacity.com 优达学成。 免费课程 https://cn.udacity.com/courses/all 全部的课程 里面有不少有意思的课程。 课程是英文的带中文翻译。 还有一个机器学习的课程,感觉好高大上啊。 总结 使用上有点不太方便。 本地化做的还不是很…

javascript ,从mozilla 官方网站学习语法,非常不错

本文的原文连接是: https://blog.csdn.net/freewebsys/article/details/81153733 博主地址是:http://blog.csdn.net/freewebsys 1,关于mozilla 开发者 https://developer.mozilla.org/zh-CN/ 还有这么一个开发者中心呢,上面搜索写JavaScri…

pagespeed insights 上线了,可以通过web进行网站性能分析了

地址: https://developers.google.cn/speed/pagespeed/insights/ 分析下csdn网站: 功能挺多的,还不错。 可以进行参考,然后优化。提高访问速度。

中国大学MOOC(慕课) 一个不错的学习网站

https://www.icourse163.org/category/all 中国大学MOOC是由网易与高教社携手推出的在线教育平台,承接教育部国家精品开放课程任务,向大众提供中国知名高校的MOOC课程。在这里,每一个有意愿提升自己的人都可以免费获得更优质的高等教育。 央…

flutter(4):在linux 下安装flutter 环境,sdk,Android Studio ,从中文镜像网站下载,速度快,安装插件,调整bios使用x86镜像,写个hello world。

目录前言1,关于 flutter2,使用3,启动5,学习视频6,总结前言 相关arduino 全部分类: https://blog.csdn.net/freewebsys/category_8957746.html 本文的原文连接是: https://blog.csdn.net/freewebsys/articl…

图片切换onmouseover 事件

http://www.w3school.com.cn/htmldom/event_onmouseover.asp 定义和用法 onmouseover 时间会在鼠标指针移动到指定的对象上时发生。 语法 οnmοuseοver"SomeJavaScriptCode" 参数描述SomeJavaScriptCode必需。规定该事件发生时执行的 JavaScript。支持该事件的 HTM…

kotlin学习(2):android开发股票APP开发。先上github交友网站进行搜索,参考相关开源项目。然后进行二次开发、修改,不从零进行项目开发。

目录前言1,关于股票APP2,使用下载代码运行3,总结前言 本文的原文连接是: https://blog.csdn.net/freewebsys/article/details/108718819 未经博主允许不得转载。 博主地址是:http://blog.csdn.net/freewebsys 1,关于…

手机网站按住放大图片_动辄上千的手机稳定器值不值?魔爪手机稳定器mini mx 499不香么...

现在什么最火?当然是小视频vlog了。随着抖音等短视频App的火爆,短视频就风靡全球了。录制短视频也从兴趣爱好演变成了多种职业形式,不仅能够满足个人记录还能够带来经济收益。那么怎样才能像vlog创作者一样录制高质量的短视频资源呢&#xff…

2018洛奇英雄传永恒最新服务器,洛奇英雄传:永恒官方网站-这一次让经典成为永恒...

《洛奇英雄传:永恒》公会篝火玩法介绍2017年05月16日公会是洛英手游的特色系统,在洛英手游中,公会玩法众多,既有着公会饮酒,公会篝火等休闲玩法,还有着斗争之塔,征战英雄等公会副本战斗&#xf…

摄影分享网站之导航栏

一. 图片展示 二.内容构成 该导航栏由一个大div标签里面包裹三个小div,分别用来放置logo,和搜索框加按钮,最后一个放置导航链接 ,链接里实现下拉菜单。 1.logo logo部分比较简单,把图片放入设定好大小的div中,使用flo…

python编程游戏用什么软件好,推荐4个 Python 的编程游戏网站

简说Python号主老表,自学,分享Python,SQL零基础入门、数据分析、数据挖掘、机器学习优质文章以及学习经验。135篇原创内容公众号↑↑↑关注后"星标"简说Python人人都可以简单入门Python、爬虫、数据分析简说Python推荐本文内容来源…

java线程睡眠的方法_「thread.sleep」Java Thread之Sleep()使用方法总结 - seo实验室

thread.sleep一、API简介Thread.sleep()是Thread类的一个静态方法,使当前线程休眠,进入阻塞状态(暂停执行),如果线程在睡眠状态被中断,将会抛出IterruptedException中断异常。。主要方法如下:【a】sleep(long millis) …

计算机科学与技术导论 网站,计算机科学与技术导论

????张小峰、贾世祥、柳婵娟、邹海林编著的《计算机科学与技术导论》以启迪科学思想、培育创新精神为目标,以知识为起点,以知识发现、发展和应用为主线,构建 计算机科学技术导论 课程的内容体系。包括理论产生、研究的动因、思想方法和理…

服务器错误信息暴露URL,访问网站提示An error occurred on the server when processing the URL的解决方法...

大家看到这个信息不要怕,这个就说明了你的iis7或iis7.5的下的网站有错误。只要找到具体的信息就可以了,跟iis6下的经典提示错误一样的。解决方法:An error occurred on the server when processing the URL. Please contact the system administrator在W…

html网站首页代码_如何在百度站长工具平台上进行“网站验证”

作为一名站长,在网站搭建以后,如果想要使用百度站长工具了解网站的相关数据,这时需要先到百度站长工具平台上验证您的网站。站长平台推荐站长添加主站(您网站的链接也许会使用www和非www两种网址,建议添加用户能够真实访问到的网址…

mysql 网页版管理工具_WP菜鸟建站25:怎样安装和打开phpMyAdmin数据库管理工具?...

wordpress程序是由PHP语言开发而的一个动态网站程序,所以,它拥有自己的mysql数据库。我们的wordpress网站的前端页面所展示的文字和图片信息,都是从这个mysql数据库中调用出来的。一般情况下,作为wordpress站长的我们,…

randint函数_静态网站利用云函数 SCF + API 网关访问自定义后端接口

本文介绍使用全静态页面的网站如何利用腾讯云的 SCFAPI 服务实现简单的后端接口,并提供了一个 Python 出题器的实例演示。相关服务介绍:云函数(Serverless Cloud Function,SCF)是腾讯云为企业和开发者们提供的无服务器执行环境,帮…