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

news/2024/5/9 13:34:20/文章来源:https://blog.csdn.net/weixin_34364071/article/details/92649618

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

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

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

相关文章

支付宝手机网站支付接入详细教程

点击查看 商户系统按照手机网站支付接口alipay.trade.wap.payAPI的参数规范生成订单数据,然后在前端页面通过Form表单的形式请求到支付宝。 不是商户系统直接调用的支付宝接口,而是支付宝的工具类生成一个form表单,然后返回给前端页面&#…

一个在线练习sql语句的网站

不用自己搭建数据库,轻量简单,方便进行练习及测试 地址为:http://sqlfiddle.com/ 一个不错的练习题汇总 https://blog.csdn.net/qq_41936662/article/details/80393172

网站收藏(Java)虫洞栈

字节跳动的小傅哥 设计模式 bugstack 虫洞栈https://bugstack.cn/用Java实现JVM, Netty4.x专题 中间件开发 领域驱动设计 全链路监控 字节码编程 Home fuzhengwei/CodeGuide Wiki GitHubhttps://github.com/fuzhengwei/CodeGuide/wiki

Python程序员一般都是靠这几个网站赚外快,赶紧收藏

当下python需求量还是挺大的,对于想要做兼职的程序员还是挺友好的:起码不用愁找不到;目前来看,其兼职方向大致有三:开发、爬虫、数据分析。 就开发来说,目前python的轮子在Github上一抓一大把,…

Python兼职有些坑你一定要知道,附接活网站

说点想说的 程序员就是当今时代的手艺人,程序员可以通过个人的技术来谋生。而在工作之余接私单可以作为一种创富的途径,受到程序员的广泛认可。说句实在话,现在这个时代,很多人仅靠主业顶多维持基本生活,想让自己、家…

如何快速搭建自己的网站:阿里云+宝塔+wordpress

自媒体快速发展的时代,很多人都有搭建自己网站的想法,这里我就教大家一种简单的搭建方法。 搭建自己的网站,可以使用网上的免费资源,当然免费的资源需要你花时间去找,而且有些资源不是很稳定。 本教程是基于阿里云的…

程序员必备网站收集

一、源码学习 GitHub:https://github.com 开发者非常重要的网站,程序员都用过,代码托管,上面有很多资源,可以根据自己的需求去查找源码,不用重复造轮子。上面有很多优秀的程序员,你可以和他们开…

Python程序员:8个接私活的网站,只要你有码,那“我”就有钱

前言: “好马配好鞍,兵器不趁手”好马配上好的马鞍那是如虎添翼,兵器不趁手那是“江湖大忌”放在古时候与人过招时,一不留神会丢掉性命的,两者的区别可想而知!照这么说的话,程序员的键盘就是武…

我,研究生在读,推荐自学Python必去的5个网站!

hi,今天和大家分享我过去两年自学Python的学习网站~ 最近几年,Python刮起了大风,仿佛不学Python就会比同龄人落后一步,学习Python是不是只是跟风现象呢? 诚然,Python于学术研究于职场发展都有…

iis服务器上网站w3wp.exe占用内存过高!

iis服务器上网站过段时间就无法打开,回收进程,关闭网站都没作用!只有重启服务器,网站才能恢复正常访问,但是过段时间网站就有打不开了! 最后在任务管理器里面发现了问题:w3wp.exe占用内存过高!…

帝国cms手机和pc站数据同步建站教程

帝国cms手机和pc站数据同步建站教程 (2018-03-20 17:18:08) 转载▼ 标签: 帝国cms同步网站 帝国cms手机端同步 http://tangjiusheng.com/EmpireCMS/90.html 帝国cms功能强大的很,百万数据更新几秒内完成,非常的棒我很喜欢&#xff0c…

解决宝塔管理面板用户新开网站空间无法使用独立ftp功能的问题

问题:我的学员用宝塔模板搭建好服务器环境以后,添加了ftp账号,却链接不起来,通过我的不断的研究,问题终于被我解决了,于是在这里一起分享给大家。 现在建站越来越多的人使用服务器了,而且大部分…

JS 劫持来源网站并做指定跳转

JS 劫持来源网站并做指定跳转 如何检测自己的网站是否被劫持了呢?有个工具可以检测 工具:IIS7网站监测工具 它可以让你知道网站是否被黑,被入侵,被改标题,被挂黑链等等功能,让你作为站长能清楚知道自己网…

IIS 7 一个网站下添加多个应用程序

IIS 7 一个网站下添加多个应用程序 业务场景:一个API两个版本: 1,发布文件目录 2,建好三个应用程序池,注意的是主网站程序池的.net framework 版本要选择无托管代码 3,新建网站 4,把两个子目录…

安装360网管版本,网站80端口被360entpulish服务占用,如何修改80端口!

方法一:安装完360网管版本后配置 可在配置向导中设置非80端口! 方法二:登录360网管后控制中心配置 登录网管地址 更改端口

网站上传虚拟主机部署以后woff字体文件提示404不存在怎么办?

网站上传虚拟主机部署以后woff字体文件提示404不存在怎么办? 有客户最近在IIS上部署web项目的时候,进入调试模式发现浏览器console日志里总是报找不到woff、woff2字体的错误。导致浏览器加载字体报404错误,到底什么原因? 这是因为…

Asp操作Access数据库时出现死锁.ldb导致网站访问缓慢资源耗尽的问题!

Asp操作Access数据库时出现死锁.ldb导致网站访问缓慢的问题描述 最近asp网站出现数据库错误,在ftp登陆后发现原来的后缀MDB文件多了一个后缀LDB文件,是自动被锁,在一天某个时间段内打不开,等待好几分钟就会说asp脚本超时&#xf…

5g服务器网站,5G与云服务器

5G与云服务器 内容精选换一换本节操作介绍通过华为云APP连接Linux实例的操作步骤。云服务器状态为“运行中”。已获取Linux云服务器用户名和密码,忘记密码请参考在控制台重置云耀云服务器密码重置密码。云耀云服务器已经绑定弹性公网IP。所在安全组入方向已开放22端…

网站阿里云虚拟主机,网站部分页面和图片无法显示,提示该内容被禁止访问

很多客户的网站被拦截并提示:“该内容被禁止访问”,大多数客户使用的都是阿里云的虚拟主机以及ECS服务器,最近发生这种问题的网站也越来越多,这几天刚解决完一个客户网站被阿里云:违规URL屏蔽访问处理通知并拦截。 怎么…

网站被注入js代码_「代码审计」某JA网站内容管理系统模板注入漏洞

0x00前言一直对模板注入漏洞懵懵懂懂,直到最近在某gayhub上瞎逛碰到一个cms,再一番操作之后找到了一个前台getshell的漏洞。由于相关要求,这里隐去这个cms的全称,就分享漏洞发掘的思路。0x01 代码审计我们全局搜索eval(可以发现有…