大型网站技术架构 读书笔记2 大型网站核心架构要素

news/2024/5/20 13:20:14/文章来源:https://blog.csdn.net/dlf123321/article/details/51363186
通常情况下,一个网站的架构出来功能性需求外,还应该考量以下五个方面:
性能
可用性
伸缩性
扩展性
安全性


性能

性能的官方解释,我就不说了。对用户来说,就是系统的反应速度是否快。
对网站来说,性能问题是无处不在的,继而,我们优化性能的手段也有很多。
我们从前到后一个一个来说
在浏览器端,可以通过浏览器缓存,页面压缩,合理布局页面等方式
还可以使用cdn,让一些静态文件放在网络服务商的机房,这样离用户近一些。
也可以使用反向代理,把静态文件存在反向代理服务器上,例如apache
服务器端就是缓存了,有本地缓存,分布式缓存两种形式
再有就是异步,集群
以上为服务器级别的手段
在代码层次,可以使用多线程以充分发挥多核的优势
数据库层次,索引,缓存,sql优化等等已经又数据库服务商为我们做好了。


网站的性能指标包括
响应时间(这个好理解)
TPS(Transaction Per Second) 每秒钟系统能够处理的交易或事务的数量
就我个人的理解,对应性能的优化,应该先测试,要明白系统到底是哪里慢,哪里才是系统的瓶颈。优化的时候要有的放矢,不能事倍功半。
关于性能的分析与测试下一节我们再说


可用性

这个也比较好理解,可用就是说,系统作为一个整体可对外提供服务。
因为要维护代码,增加新的应用或者硬件问题,断电等等,没有哪一件网站能做到7x24小时可用。
但是,我们要尽力的做到高可用。
高可用的手段主要就是冗余。一个硬件能干的事,我用n(n>1)个。
应用服务器使用n个,采用负载均衡,一台坏了还有n-1台。当然负载均衡这个东西,也可以部署2套。
对应数据库而已,一般就是实时备份。
衡量一个系统的架构设计是否满足高可用的目标,就是假设系统中任何一台或者多台服务器宕机时,或者出现别的不可预期的问题时,系统整体是否依然可用。


伸缩性

我们已经知道,在当前的实践中,网站是使用多台服务器组成一个整体来对外提供服务(可用是应用服务,也可以是存储服务,当然还可以是计算服务等等)的。
衡量伸缩性的标准就是时候可以采用多台服务器构建集群,是否可以(容易)向系统里增加更多的服务器来提高系统的服务能力,集群中的总的服务器数量是否有限。
服务器主要有三种,应用服务器,缓存服务器,数据库服务器。
对于应用服务器来说,只有里面没有保存数据,那么所有的服务器都是对等的,只要有合适的负载均衡策略,我们就可以不断的增加应用服务器。
缓存服务器,(如果应用已经严重依赖缓存了)这里的主要矛盾是要改进缓存的路由算法(否则,会路由失效)
数据库要直接增加硬件来扩充服务比较麻烦,所以在这里我们主要的策略通过路由分区把多个部署有数据库的服务器组成集群。
NoSQL本身就是为大数据而产生的,伸缩性都比较好。


扩展性

伸缩性与扩展性就字面意义来说,似乎很接近
其实扩展性,就是指,对现有的系统增加一个新的模块,是否可以实现对现有模块的透明无影响,不需要或者很少改动现有的代码就能上线新模块,不同产品之间是否很少耦合,一个产品改动了对别的产品没影响。
要实现扩展性,主要由两个手段1 事件驱动  2 分布式服务(其实说白了,要解耦,就是这两个方式)
事件驱动就是指在系统中引入消息队列
分布式服务是将业务主体和可以复用的服务分开。新增的产品可以调用那些可复用的服务来实现自身的逻辑。



安全性

不受恶意访问和攻击,重要数据不被窃取。


思维导图






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

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

相关文章

大型网站技术架构 读书笔记1 大型网站架构模式

架构,又名软件架构,是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。 关于什么是模式,这个来自建筑学的词汇是这样定义的:“每一个模式描述了一个在我们周围不断重复发生的问题及该问题解决方…

大型网站架构之大型网站的演变过程

大型网站的演变过程 现在网站面临的问题: 1.企业在网站技术上的进行了大量的投入,但总是在关键的时刻频繁宕机(高性能); 2.工程师夜以继日的加班工作,网站缺总是故障频繁、新功能上线缓慢(扩展…

大型网站架构之大型网站架构模式

大型网站架构模式 什么是模式呢?(模式就是针对特定问题目前行业的解决方案) 模式描述了一个在我们周围不断重复发生的问题以及该问题解决方案的核心。借助模式我们可以减少很多重复的工作。 大型互联网公司在实践过程中提出了很多的解决方案,以实现网站…

大型网站架构之大型网站核心架构要素

大型网站核心架构要素 软件架构指的是,有关软件整体结构与组件的抽象描述,用于指导大型软件系统各方面的设计。 1.性能 在浏览器端 a.通过浏览器缓存、使用页面压缩、合理布局页面、减少Cookie传输等手段改善性能; b.可以使用CDN&#xff0c…

大型网站架构之性能篇

网站的高性能架构(性能) 不同视角下的网站性能有着不同的标准,也有不同的优化手段。 1.用户视角的网站性能优化 通过优化页面HTML样式、利用浏览器端的并发和异步特性(即用户不用等待结果)、调整浏览器缓存策略、使用…

大型网站之高可用篇

网站的高可用架构(高可用) 由于种种情况,在业务中硬件故障是常态,所以网站的高可用架构设计的主要目的就是保证服务器硬件故障时服务依然可用、数据依然保持并能够并访问。 高可用的主要手段:数据和服务的冗余备份及失…

大型网站之伸缩篇

网站的伸缩性架构(伸缩性) 绝大数网站都是渐进式成长的,在这个过程中最重要的技术是就是使用服务器集群,通过不断地向集群中添加服务器来增加整个集群的处理能力。 网站架构的伸缩性设计 网站的伸缩性设计分为两大类 根据功能进…

大型网站之扩展篇

网站的可扩展架构(扩展性) 伸缩性:通常指利用集群的方式增加服务器数量、提高系统的整体事务吞吐能力。 扩展性:指对现有系统影响最小的情况下,系统功能可持续扩展或提升的能力。 网站的可扩展性,依托于系…

大型网站之安全篇

网站的安全框架(安全性) a.黑客攻击 XSS攻击 XSS攻击即跨站点脚本攻击,指黑客通过篡改网页,注入恶意HTML脚本,在用户浏览网页时,控制用户浏览器进行恶意操作的一种攻击方式。 常见的XSS攻击分为 反射型&am…

使用openssl 模拟ca进行证书的申请和颁发,并使用证书部署网站的安全连接访问,即https的加密通信

亲测,已经建立了https链接 参考链接: https://blog.csdn.net/guoxiaojie_415/article/details/80554109 https://www.cnblogs.com/kezi/articles/11512420.html

浏览器版本过高导致无法访问网站 burpSuiteBrowser

错误: 建立安全连接失败 连接到 172.24.11.101 时发生错误。对等端使用了不支持的安全协议版本。 错误代码:SSL_ERROR_UNSUPPORTED_VERSION 由于不能验证所收到的数据是否可信,无法显示您想要查看的页面。 建议向此网站的管理员反馈这…

js 获取服务器ip_如何提高香港服务器网站的访问速度

从选择服务器上入手1.选择直连国内网络骨干的机房 直连国内网络骨干机房通常节点都比较少。通常数据在经过路由器进行转发时,都需要花费一定的时间,因而节点比较少的机房,它所提供的香港服务器多相对快一些,具体我们可以通过ping服…

php一维数组合并为二维数组,php输出数据并转换成若干一维数组最后合并为一条二维数组 - 傲世零零个人技术网站...

代码功能:php输出数据并转换成若干一维数组最后合并为一条二维数组//数据库连接require(db.php);//查询语句$sql2 "select * from xc_pic where xcid89 ";$result2 mysql_query($sql2,$conn);$dd0;while($row2 mysql_fetch_array($result2)){$dd$dd1…

逆向某电影网站signKey参数

1.打开我们要获取数据的页面 这里我们可以看到,这个有个加密参数signKey,猫眼好像改了,这个页面一些东西变成动态渲染了。他会发送一个请求去请求这个数据 我们打开这个页面,可以看到 这里面都是我们要的参数,像评分呀…

补某视频网站的js,进行视频解密

前言: 前不久,有个群友在群里发了一个视频的m3u8文件,其中的key是16字节,但是就是无法进行下载。但是用m3u8下载器进行下载时,无法下载下来,我开始怀疑是有请求头检验,用代码请求了一下&#x…

java web gzip_java使用gzip对静态资源的压缩,提供web网站访问速度

一、gzip简介Gzip是若干种文件压缩程序的简称,通常指GNU计划的实现,此处的gzip代表GNU zip。也经常用来表示gzip这种文件格式。软件的作者是Jean-loup Gailly和Mark Adler。在1992年10月31日第一次公开发布,版本号0.1,1993年2月&a…

Web大作业-关于创业计划网站制作的第二天......

嘶......转专业真的是麻烦,前有C语言大作业算法实现,现有Web工程网页要做..... 贴几张预览图吧,第一部分算是完成了,接下来还有两个部分,分别是宣传视频和个人计划的安排。 另外,学校的校园网真菜&#x…

Web大作业-关于创业计划网站制作的第三天......

代码都是我一行一行敲下来的,虽然我相信得分不会很高(确信)。 但是第二部分算是完成了,就是宣传视频部分,让三个网页互相连接,其实我还想用用js把网站写活,奈何能力有限。 第三部分我打算讲述自己的创业计划&#xf…

Web大作业-关于创业计划网站制作的第四天......

主要是登录和注册界面。 还有自己的创业计划。差不多完工了。

5 qlineedit获取内容_SEO内容营销:你应该关注的5个考核指标!

在SEO工作中制定内容营销策略是一个必不可少的工作,毕竟内容为王的时代,任何的营销与推广我们都脱离不了内容,每隔一段时间SEO主管都会对内容营销做复盘,通过数据分析,查看相关指标,是否达到预期。 那么&am…