大型网站架构演变

news/2024/5/11 14:30:03/文章来源:https://blog.csdn.net/weixin_33805992/article/details/90099470
第二遍阅读《大型网站技术架构》,真心觉得书中的内容很好,推荐大家去阅读。下面是书中对大型网站架构演变过程的介绍。 
对于一个小型企业级网站,通常的架构如下图: 
 

随着用户数量的增多,可以将应用服务与数据服务分离以提高性能,如下图: 
 

用户继续增多,数据库的压力太大,此时考虑使用缓存,如下图:(缓存在网站性能优化中是一种很重要的手段,可以极大的减轻缓存所在位置后端的压力,缓存分为本地缓存和分布式缓存服务器,前者更快但容量有限,后者理论上容量可以无限伸缩。分布式缓存的一个典型例子是MemCached)。 
 


增加缓存的做法缓解了数据服务器的压力,接着考虑缓解应用服务器的压力,将应用部署到集群中。在这个集群的前端添加负载均衡服务器以进行负载均衡,如下图:(把应用部署到集群当中会涉及到一个session对象的分享问题,留在以后博客中讨论) 
 


使用集群的方式缓解了应用服务器的压力,接着又得解决数据服务器的压力。采用数据库读写分离,如下图:(应用服务器在写数据的时候访问主数据库,在读数据的时候访问从数据库,主数据库将数据实时的同步到从数据库)
 


数据库读写分离缓解了数据服务器的压力,接下来考虑解决应用服务器的压力。在负载均很服务器加入反向代理服务器和CDN服务器,如下图:(CDN叫做内容分发网络,它通过将用户请求转发到距离最近的缓存服务器上,从而直接返回结果。CDN可以说是网站在网络提供商机房中部署的缓存系统,反向代理服务是网站在自己的机房部署的缓存系统) 


CDN和反向代理缓解了应用服务器的压力,接着又得解决数据服务器的压力。随着网站业务的不断增长,数据库虽然采用了读写分离机制,仍然不能满足性能需要。考虑使用分布式文件系统和分布式数据库系统,如图:(分布式数据库系统是数据库提升的最后手段,只有在单张表非常庞大的时候才使用。如果单张表不是很大,我们使用业务分库,即不同业务的数据存储到不同的数据库服务器上) 
 


为网站添加NoSQL和搜索引擎,如下图:(应用服务器通过统一数据管理模块访问各种数据源) 
 

大型网站的最终架构,如下图: 
 

上面是一个网站从最初的一台服务器逐渐发展壮大的过程,书中作者在最后有一段总结:技术是用来解决业务问题的,而业务的问题,也可以通过业务的手段来解决。这句话我的理解,架构没有好坏之分,适合业务的就是最好的,同时在设计架构时不要局限于技术。 

还是在推荐大家读一读原书《大型网站技术架构 核心原理与技术分析》 李智慧著,个人很喜欢。



本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/6293594.html,如需转载请自行联系原作者

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

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

相关文章

百度技术沙龙精英汇聚 探秘大型网站数据库架构设计与性能优化

云计算浪潮汹涌而至,来自四面八方的海量数据已呈爆炸之势,如何给前端用户提供稳定、顺畅、安全、高速的体验服务,这既要求后台数据库系统顺应业务模式的变革不断升级,又能满足数据量爆增所带来的各种存储、查询、分析、挖掘等各种…

笔记本电脑当服务器部署网站,笔记本当云服务器

笔记本当云服务器 内容精选换一换如果在创建弹性云服务器时未设置密码,或密码丢失、过期,可以参见本节操作重置密码。密码丢失或过期前,已安装密码重置插件。公共镜像创建的弹性云服务器默认已安装一键重置密码插件。私有镜像创建的云服务器且…

大型网站系统架构

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

给网站增加https的简单方法

为什么80%的码农都做不了架构师?>>> https://certbot.eff.org/ 转载于:https://my.oschina.net/fox99/blog/1621009

支持全球探测点的新一代网站监控

2019独角兽企业重金招聘Python工程师标准>>> 摘要: 当你的网站开发完成了,你是不是想知道全国各地到服务器的网络访问情况。 当你的网站上线了,你是不是不想变成熊猫眼24小时盯着网站运行情况。 当你的网站商业化了,你…

Windows 08R2 IIS网站架设

目录 目录配置和安装IIS环境设置安装IIS服务器网站的站点目录和欢迎页面 配置和安装IIS IIS是Windows的网站服务器,所以配置IIS服务的前提是需要一个网址、和DNS域名并添加主机记录。 环境设置 我们以下图架构搭建一个类似的IIS服务。我们将DNS服务和IIS服务ALL-…

SEO优化:网站优化的五大步骤

我们在做SEO优化的过程中,不能毫无头绪得去做,不然取得的效果很差,做任何事情,都要有一个好的策划,完整的方案才能做的更好。今天搜客大伟讲讲做网站优化的五大步骤: 1、关键词分析 这是进行SEO优化最重要的…

ThinkSNS积分商城系统 一站式解决企业商城建站需求

2019独角兽企业重金招聘Python工程师标准>>> 什么是ThinkSNS ThinkSNS(简称TS),一款全平台综合性社交系统,为国内外大中小企业和创业者提供社会化软件研发及技术解决方案,目前最新版本为ThinkSNS。 积分商城体验PC端地址 http://d…

3000+ NLP资源一网打尽,只需用这个分类检索网站 | 免费

子豪 发自 凹非寺量子位 报道 | 公众号 QbitAINLP资源免费搜索神器来了~有了它,就能一键直达arXiv论文PDF、相关研究的关联网、GitHub存储库,以及Colab,再也不用逐项搜索!这是一个NLP资源检索网站,在reddit上获得了460…

php ucwords,WordPress博客程序中Platinum SEO Pack SEO插件设置图解介绍

Automatically do 301 redirects for permalink changes:301转向:当日志固定链接结构改变后会因为找不到页面而显示404错误,启用此选项后,旧URL会被自动转向到新的URL。Home Title:这个是显示在浏览器标题栏的首页标题&#xff0c…

前端里面如何进行搜索引擎优化(SEO)

如何进行SEO优化: (1) 避免head标签js堵塞: 所有放在head标签里面的js和css都会堵塞渲染;如果这些css和js需要加载很久的话,那么页面就空白了; 解决办法:一是把script放到body后面,这也是很多网…

html中怎么给网页添加音乐播放器,怎么给网站或网页添加音乐

一定程度上学建站网不赞同在网站中插入背景音乐,就自己而言,如果我在听着音乐时打开你的网站,我会毫不犹豫的叉掉你的网页,因为“有碍视听”,不过事无绝对,如果没有听音乐,一遍浏览网站文章一遍…

十周后,62%的PHP网站将运行在一个不受支持的PHP版本上

根据W3Techs的统计数据,目前约有78.9%的网站使用PHP开发。\\但是,PHP 5.6.x的安全支持将在2018年12月31日正式停止,这标志着对古老的PHP 5.x分支版本的支持都将结束。\\也就是说,从明年开始,大约62&#xf…

使用 acme.sh 获取网站证书并配置https访问

目录 1. 安装 acme.sh 2. 生成证书 1. 安装 acme.sh 安装很简单, 一个命令: curl https://get.acme.sh | sh普通用户和 root 用户都可以安装使用. 安装过程进行了以下几步: 1.把 acme.sh 安装到你的 home 目录下: ~/.acme.sh/并创建 一个 bash 的 alias, 方便你的使用: …

【Docker实战之入门】Dockerfile详细分析:构建docker镜像(4)构建动态网站WordPress...

代码文件 [rootOptimus /]# cd docker-training/ [rootOptimus docker-training]# ls centos7 mysql php-fpm README.md wordpress [rootOptimus docker-training]# cd wordpress/ [rootOptimus wordpress]# ls Dockerfile init.sh readme.html wp-admin …

判断分辨网站是否伪静态的方法

< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd> 所有seoer都知道网站的优化最好是静态网页&#xff0c;但是有些时候静态网 页是无法满足建站需求的&#xff0c;所以伪静态就出现了&#xff0c;而我们浏览其他的网站&#xff0c;看…

使用免费虚拟服务器建站并实现域名解析

任务1 在中国免网申请使用免费VPS并建个人网站 使用aws创建的云服务器 此次搭建使用LAMP Web服务器SSL/TLS 首先检查yum源更新 sudo yum update -y 安装 lamp-mariadb10.2-php7.2 和 php7.2 Amazon LinuxExtras 存储库&#xff0c;以获取适用于 Amazon Linux 2 的 LAMP Mari…

JavaScript实现在线进制转换工具网站 -toolfk程序员在线工具网

本文要推荐的[ToolFk]是一款程序员经常使用的线上免费测试工具箱&#xff0c;ToolFk 特色是专注于程序员日常的开发工具&#xff0c;不用安装任何软件&#xff0c;只要把内容贴上按一个执行按钮,就能获取到想要的内容结果。ToolFk还支持 BarCode条形码在线生成、 QueryList采集…

网站被黑搜索快照被劫持怎么办

2018年圣诞节来临之际随着互联网的网站数量不断的庞大增加,随之而来的网站安全问题凸显上升,很多企业网站的百度快照出现被劫持跳转,以及网站快照被劫持在百度中的搜索关键词出现标题描述与网站不相符的问题,导致网站在搜索引擎中的排名大大下降,那么具体是什么原因导致的&…

前嗅ForeSpider教程:网站登录配置

当我们在采集中碰到&#xff1a;所采集的网站数据需要登录&#xff0c;才可以看到所需信息时&#xff0c;则需要在软件中模拟登陆环境&#xff0c;采集数据&#xff0c;此时需要配置登录信息。今天小编就教大家&#xff1a;如何进行网站登录配置&#xff0c;具体步骤如下&#…