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

news/2024/5/9 7:41:55/文章来源:https://blog.csdn.net/weixin_33736649/article/details/92652595

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

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

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

相关文章

python抓取网站URL小工具

1、安装Python requests模块(通过pip): 环境搭建好了! 2、测试一下抓取URL的过程: 抓取出来的URL有JavaScript代码,正则上还有待更加完善,有兴趣的可以研究下~! 工具源代码: #coding…

《Oracle Java EE编程自学和面试指南》10-03:ServletContext实现网站访问计数器

深入了解IT/互联网行业及岗位,请参阅通用IT/互联网岗位招聘计划(最新全岗版)。 深入了解职业晋升及学习路线,请参阅最优职业晋升路线和课程学习指南(最新全栈版)。 内容导航: 前言1、登录人次统…

《Java EE实战指南》11-02:使用ServletContextListener实现网站访问计数器

《JavaEE实战指南》 11-01:Listener概念 内容导航: 前言1、计数器的问题及优化2、创建监听器类3、配置监听器4、运行效果 前言 – 1、计数器的问题及优化 上一章的计数器案例的问题:计数器直接存储在上下文对象中,所以容器重启…

解读大型网站系统架构的演化

前言 一个成熟的大型网站(如淘宝、京东等)的系统架构并不是开始设计就具备完整的高性能、高可用、安全等特性,它总是随着用户量的增加,业务功能的扩展逐渐演变完善的,在这个过程中,开发模式、技术架构、设计…

使用Java开发高性能网站需要关注的那些事儿

近期各家IT媒体举办的业内技术大会让很多网站都在披露自己的技术内幕与同行们分享,大到facebook,百度,小到刚起步的网站。facebook,百度之类的大型网站采用的技术和超凡的处理能力的确给人耳目一新的感觉,但并不是每个…

教务系统自动评教_「四川大学教务处本科登陆系统」四川大学本科教务系统 - 一键评教 - seo实验室...

四川大学教务处本科登陆系统为什么80%的码农都做不了架构师?>>>引用库:http-parser、boost、libcurl、STL其中boost使用了thread、container、regex三个模块。由于boost二进制文件太大,这里就不放工程了。不过编译完只有400多KB&…

html网站点击特效,HTML5 svg和CSS3炫酷鼠标点击按钮特效

这是一组效果非常炫酷的HTML5 svg和CSS3鼠标点击按钮特效。这组鼠标点击特效共有22种效果,大多数是在伪元素上使用CSS3 animations来制作动画效果。非常适合于移动手机APP上的按钮触摸特效。请注意这些效果需要在支持这些CSS属性的现代浏览器中才有效果,…

百度seo排名点击器app_SEO优化关键词上百度——高权重网站上百度排名

SEO优化关键词上百度——高权重网站上百度排名——百度搜索引擎:标语“百度一下,你就知道”,百度又被广大用户名为“度娘”,现目前覆盖了PC端和移动端,不管是PC端还是移动端,在搜索引擎市场上,一…

网站前端性能优化终极指南

性能黄金法则:80- 90%的终端用户响应时间花在下载前端,即页面上的所有组件:img、stylesheets、scripts等 1.缩小HTML、CSS和JavaScript 减少资源意味着从HTML、JavaScript和CSS中删除不必要的、不需要加载的字符,如空白字符、换行字符、注释和块分隔符…

神泣服务器维护公告,《神泣》官方网站—创天互娱

亲爱的玩家:大家好!为了提升服务器质量,给大家一个稳定顺畅的游戏环境,《神泣》3区将于2020年4月9日开始进行服务器维护&版本更新,整个过程持续约4小时,预计于14:00时结束。更新后为1.0.0.78版本。根据具体情况维护…

hdfs网站服务器,服务器连hdfs配置

服务器连hdfs配置 内容精选换一换该任务指导用户使用Loader将数据从HDFS/OBS导出到SFTP服务器。创建或获取该任务中创建Loader作业的业务用户和密码。确保用户已授权访问作业执行时操作的HDFS/OBS目录和数据。获取SFTP服务器使用的用户和密码,且该用户具备SFTP服务器…

代发核心期刊骗局_假网站,假邮箱,假编辑部……期刊骗子们还要蹦跶多久?...

科技日报记者 张盖伦王丽最近一直处在自己的论文会被盗用的恐慌中。一切源于两个月前的一次投稿。她通过百度搜索期刊官网,按照官网给出的邮箱投出论文,收到编辑部录用通知……过程明明都很顺利。只是,把版面费打给编辑部后,对方就…

win7下如何运行php网站,教你如何在Win7下搭建PHP环境运行帝国ECMS6.0

首先确认你已经把一下程序下载完毕mysql-5.0.41-win32phpMyAdmin-2.11.3ZendOptimizer-3.3.0aphp-5.2.5-Win32本人网盘有提供集合包下载:http://u.115.com/file/f2c234b001我的集合包说明:php.ini文档已经配置好了,直接按下面的教程复制到相应…

thinkcmf5 模板版变量的加载过程 和 新增网站配置项怎么全局使用

1、模板全局配置是怎么加载的 在 HomeBaseController.php 的 fech方法 $more $this->getThemeFileMore($template); 用 echo ThemeModel::getLastSql(); 输出sql语句 :SELECT more FROM cmf_theme_file WHERE theme w0s AND ( is_public 1 OR file por…

esc服务器网站程序安装,esc服务器安装ssl

esc服务器安装ssl 内容精选换一换SSL证书签发后,即可下载并安装在Tomcat、Nginx、Apache、IIS等服务器上。具体操作请参见:在Tomcat上安装SSL证书:详细指导操作请参见在Tomcat服务器上安装SSL证书。在Nginx上安装SSL证书:详细指导…

Web网站的测试流程和方法(一)

近期,Alltesting的众测平台  有不少web网站的功能测试项目,像:  农事GERP种植系统 云测试平台 头号专家网项目第三轮功能测试 于是,有些新加入众测平台的小伙伴们就很捉急:  “web网站怎么测试?”  …

《大型网站性能优化指南——从前端、网络、CDN到后端、大促的全链路性能优化详解》读后感和一点思考

前言:这几天拜读了阿里的这本书,这本书全栈式地讲了一个成熟稳定的大型高并发高容量系统的优化过程,读下来很有收获,也有一些自己的思考。CDN-DNS、网络部分讲的挺精彩的,值得一读的一本书。由于我是后端方向&#xff…

网站用户行为分析项目之会话切割(一)

文章目录0x00 教程内容0x01 项目分析1. 项目背景2. 学习收获3. 数据源介绍4. 项目总体流程5. 最终数据结构0x02 编程实现1. 构建Maven项目2. 编码前准备工作3. 实现源数据的获取4. 解析日志源数据5. 日志清洗操作0x03 思路回顾0xFF 总结0x00 教程内容 项目分析编程实现 基础知…

网站正在建设中_兰州网站建设中常见的布局种类有什么

网站是由网页构成,这点许多从事网站建设或者是接触过网站开发的应该都比较清楚,目前虽然许多的企业都想要建设网站,但是对于网站的布局了解并不清楚,下面随小编一起来了解一下兰州网站建设中几种常见的布局吧。1、区块型为了网站优…

做服务端用Java还是PHP_建站用php还是java

建站用php还是java?建站用php,因为php是常用的网站编程语言,有全球超过81.7%的公共网站在服务器端采用PHP。而Java是一门面向对象编程语言,更适于系统程序的开发。phpPHP即“超文本预处理器”,是一种通用开源脚本语言。…