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

news/2024/5/9 4:31:47/文章来源:https://blog.csdn.net/weixin_34245082/article/details/92659217

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

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

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

相关文章

一个网站故障排查的、代码更新的简便脚本

故障排错脚本由于近来公司的服务器经常会出点小问题,基于各种原因要去排错。这里我用python写了一个脚本,主要四调用os模块操作。有一个是要统计mysql最大连接数的。因为好像python不支持"show processlist",所以自己写了一个模块m…

nofollow标签_网站seo优化nofollow的具体用法

一个人的资源是有限了,一个人的精力也是有限的,我们在优化的时候,要知道网站首页是一个网站权重最高,也是权重最集中的地方,这时候就需要进行权重之间的传递,就需要用到nofollow标签了,下面我们…

网站地图生成器_Mobirise for mac(网站创建开发) v4.10.7最新免费版

Mobirise mac是款高效的网站创建软件,Mobirise为您提供顶级工具栏和网站构建器面板,使您可以轻松地构建网站,且需无需编写任何代码。使用Mobirise只需几分钟就可以拖放块并构建网站,轻松创建响应式和移动优化的网站,欢…

网站管理助手4.0 mysql_会员管理--管理中心

一、创建站点软件界面如图:点击“创建站点”,如图:站点名称:填写一个FTP账号,可以是英文(建议小写)和数字的组合FTP密码:建议保持默认或自己设定一个容易记住但比较复杂的密码,切勿用FTP账号做密…

mysql爆破字典_又一神器!万能网站密码爆破工具

在Web渗透测试中有一个关键的测试项:密码爆破。目前越来越多的网站系统在登录接口中加入各式各样的加密算法,依赖于BurpSuite中的那些编码方式、Hash算法已经远远不够,这里给大家介绍一款支持AES/RSA/DES(即将支持)加密算法,甚至可…

jmh气象传真图网站_干货~葵花气象卫星影像自动下载转桌面(天天都是上帝视角)...

天天看着你们可爱的桌面腻不腻?天天看Windows推送的桌面腻不腻?天天对着动漫diss腻不腻?给你们推一个新视角~从天上往下看!偶尔对着台风可以说一声:你diss我,我看着你!先合成一张酷酷的气象云图…

seo网站自动发布链接工具_常用的SEO网站分析工具

步入外贸旺季,为了发挥数码营销的最大优势,今天小编为您介绍几种常用的 SEO网站分析工具。1. Open SEO Stats在当前页面上显示排名和 SEO统计,主要包括外链,索引,缓存,等等。该软件可以帮助识别站点内的 SE…

OpenCart高级搜索引擎优化(SEO PACK PRO)

2019独角兽企业重金招聘Python工程师标准>>> OPENCART高级搜索引擎优化(SEO PACK PRO) 是时候将您的网站进行高级搜索引擎优化了!Opencart高级搜索引擎优化( SEO PACK PRO)扩充功能包含所所有有关 Opencart SEO 搜索引擎的相关扩充功能:1. Ke…

android 怎么实现手机网站支付_PHP实现手机网站支付(兼容微信浏览器)

php中文网最新课程每日17点准时技术干货分享网上的很多PHP支付宝支付接入教程都颇为复杂,且需要配置和引入较多的文件,本人通过整理后给出一个单文件版的,希望可以给各位想接入支付宝支付的带来些许帮助和借鉴意义。一个PHP文件搞定支付宝系列…

a.diguo.in click.php,帝国cms网站管理系统V4.7 DIGG的实现(顶踩实现)

前言:DIGG顶及踩踏可以实现用户之间的信息交流互动。实现要点:系统本身就内置了digg的功能,只是没有在数据表中直接内置digg字段,所以我们只需增加digg的字段就可以实现顶与踩踏的功能。(为什么不内置所有会使用到的字段呢?主要是…

java stie:baiducom_网站资源快速收录----百度API提交Java版,百度API网站资源提交小程序版...

API提交什么是API推送最为快速的提交方式,建议您将站点当天新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度收录。API推送的优点及时发现: 可以缩短百度爬虫发现您站点新链接的时间,使新发布的页面可以在第一时间…

MVC5 网站开发之六 管理员 1、登录、验证和注销

上次业务逻辑和展示层的架构都写了,可以开始进行具体功能的实现,这次先实现管理员的登录、验证和注销功能。 目录 奔跑吧,代码小哥! MVC5网站开发之一 总体概述 MVC5 网站开发之二 创建项目 MVC5 网站开发之三 数据存储层功能实现…

IIS管理器如何添加网站

IIS服务器一些步骤 安装好iis后右击网站按钮点击添加网站网站名称填写无所谓,物理路径(注意是大路径,一个项目所有的文件在那个文件夹下),Ip地址自己定义最好是hosts文件已经绑定了域名的,这样容易记&#…

从零开始用 Flask 搭建一个网站(一)

2019独角兽企业重金招聘Python工程师标准>>> 前言 笔者之前未接触过 Python,只是略懂一点前端,所以说从零开始也相差无几吧。Flask 是一个轻量级的基于 Python 的框架,但是扩展性非常良好(Github 上 22000 多个 star 就…

在RHEL、CentOS上安装建站神器Drupal 8

2019独角兽企业重金招聘Python工程师标准>>> Drupal 是一个开源,灵活,高度可拓展和安全的内容管理系统Content Management System(CMS),使用户轻松的创建网站。 它可以使用模块拓展,使用户将内容管理转换为强大的数字解…

如何更有效使用Rational AppScan 扫描大型网站

Rational AppScan 工作原理 Rational AppScan(简称 AppScan)其实是一个产品家族,包括众多的应用安全扫描产品,从开发阶段的源代码扫描的 AppScan source edition,到针对 Web 应用进行快速扫描的 AppScan standard edit…

值得推荐的十大交互式可视化的网站

厌倦了静态图表,最近一直在看一些关于可以交互的数据可视化的案例,整理了一些有趣的交互式可视化的网站分享给大家。 01 Matt Daniels The Lasting Mark of Miles Davi 关于维基百科里提到“黑暗王子”迈尔斯戴维斯的页面次数统计,来证明这个…

云服务器 ECS 建站教程:Discuz安装教程

Discuz安装教程Discuz! 是全球成熟度最高、覆盖率最大的论坛软件系统之一。自 2001 年 6 月面世以来,Discuz! 已拥有 15 年以上的应用历史和 200 多万网站用户案例。目前,Discuz! 已经发展成为一个以社区为基础的专业建站平台,让论坛&#xf…

网站开发需要哪些技术_app开发需要哪些技术?4种app制作方法对比

开发一个完整的app需要哪些技术?App开发的到底要多少钱?如何简单快速低成本的开发app?现在,市场上的app开发可以分为4种不同的app开发方式,不同的app开发方式,对app技术、开发人员、开发成本、开发周期的要…

网站页面左右_网站优化都包括什么

SEO优化主要包括四个方向:内部结构优化,内容优化,内部链优化和外部链优化。 一,优化内部结构 1.TDK优化:此TDK不仅包括首页,还包括角页和文章页的TDK。因此,建议您在创建站点时自定义标签。T也就是title,网…