大型网站技术架构(三)架构核心要素

news/2024/5/12 23:48:52/文章来源:https://blog.csdn.net/weixin_34194379/article/details/92658304

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

 所谓架构,一种通俗的说法就是“最高层次的规划,难以改变的决定”,这些规划和决定奠定了事物未来发展的方向和最终的蓝图。

       而软件架构即“有关软件整体结构与组件的抽象描述,用于指导大型软件系统各方面的设计”。一般来说软件架构需要关注性能、可用性、伸缩性、扩展性和安全性这5个架构要素。

1、性能

      性能是网站架构设计的一个重要方面,任何软件架构设计方案都必须考虑可能带来的性能问题。也正因为性能问题几乎无处不在,所以优化网站性能的手段也非常多:

     浏览器端:可以通过浏览器缓存、页面压缩传输、合理布局页面、减少Cookie传输等手段,甚至可以使用CDN加速功能。

     应用服务器端:可以使用服务器本地缓存和分布式缓存,也可以通过异步操作方式来加快响应,在高并发请求的情况下,可以将多台应用服务器组成一个集群共同对外服务,提高整体处理能力,改善性能。

     数据库服务器端:可用使用索引、缓存、SQL性能优化等手段,还可以使用NoSQL数据库来优化数据模型、存储结构等。

     衡量网站性能有一系列指标,重要的有响应时间、TPS、系统性能计数器等,通过这些指标以确定系统设计是否达到目标。

2、可用性

     可用性即能够不间断提供服务的时间。几乎所有网站都承诺7×24小时可用,但事实上任何网站都不可能达到完全的7×24,总会有一些故障时间,扣除这些故障时间,就是网站的可用时间。一些大型网站可以做到4个9以上的可用性,也就是99.99%。

    网站高可用的主要手段就是冗余,应用部署在多台服务器上同时提供服务,数据存储在多台服务器上相互备份,任何一台服务器都不会影响应用的整体可以,通常的实现手段即把多台服务器通过负载均衡设备组成一个集群。

    衡量一个系统架构设计是否满足高可用的目标,就是假设系统中任何一台或者多台服务器宕机时,以及出现各种不可预期的问题时,系统整体是否依然可用。

3、伸缩性

       大型网站需要面对大量用户的高并发访问和存储海量数据,网站通过集群的方式将多台服务器组成一个整体共同提供服务。所谓伸缩性是指通过不断向集群中加入服务器的手段来缓解不断整体上市用户并发访问压力和不断增长的数据存储需求。

       衡量架构伸缩性的主要标准就是是否可用多台服务器构建集群,是否容易向集群中添加新的服务器。加入新的服务器后是否可以提供和原来的服务器无差别的服务。集群中可容纳的总服务器数量是否有限制。

4、扩展性

        不同于其他架构要素主要关注非功能性需求,网站的扩展性架构直接关注网站的功能需求。网站快速发展,功能不断扩展,如何设计网站的架构使其能够快速响应需求变化,是网站可扩展架构的主要目标。

        衡量网站架构扩展性好坏的主要标准就是在网站增加新的业务产品时,是否可以实现对现有产品透明无影响,不同产品之间是否很少耦合等。

        网站可扩展架构的主要手段是事件驱动架构和分布式服务

        事件驱动通常利用消息队列实现,通过这种方式将消息生产和处理逻辑分隔开。

        服务器服务则是将业务和可复用服务分离开来,通过分布式服务框架调用。新增加产品可用通过调用可复用的服务来实现自身的业务逻辑,而对现有产品没有任何影响。

5、安全性

      互联网是开发的,任何人在任何地方都可以访问网站。网站的安全架构就是保护网站不受恶意访问和攻击,保护网站的重要数据不被窃取。

      衡量网站安全架构的标准就是针对现存和潜在的各种攻击和窃密手段,是否有可靠的应对策略。

转载于:https://my.oschina.net/zhanghaiyang/blog/606397

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

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

相关文章

hadoop(datanode)宕机的原因和解决办法?_网站流量异常的10大原因

站点在日常运转的过程中,可能会遇到流量出现异常的现象,我们这里所说的异常是指流量下降达到一个较大的比率,且是如几天以上持续性的。作为一个SEOer,应该学会如何从各个维度去分析与查找到流量波动的原因,这里不仅限于…

公众号网页授权php,微信公众号里的PHP网站进行网页授权

要进行网页授权,肯定要和微信合作,首先,要有一个自己的公众号,而且必须要经过认证的公众号.(如果没有,可以去申请测试号)订阅号和服务号以及测试号:订阅号专注的是推送消息,所以一些高级接口会没有.服务号专注的是用户交互,所以接口会比订阅号多一点,相对的,推送消息的数量就会…

mouseenter 与mouseover 区别

mouseenter 与mouseover 区别 mouseenter与mouseover有什么不同,也许可以从两方面去讲。看他们是是否支持冒泡或者是否为事件的触发时机; 只有当鼠标指针在对象的边界之外,用户把鼠标移动到对象的边界内时,事件mouseenter才触发。…

Nginx 开启 Gzip压缩提升网站速度

多说无益 ,直接上配置 vim nginx.conf 参数 gzip配置的常用参数 gzip on|off; #是否开启gzip gzip_buffers 32 4K| 16 8K #缓冲(压缩在内存中缓冲几块? 每块多大?) gzip_comp_level [1-9] #推荐6 压缩级别(级别越高,压的越小,越浪费CPU计算资源) gzip_disab…

Bootstrap响应式网站开发实战 # 第二章习题答案

1.用Bootstrap实现一个隔行变色的表格 <!DOCTYPE html> <html> <head><title>Bootstrap Practice</title><link rel

Bootstrap响应式网站开发实战 # 第三章习题答案

一、选择题 AAA 二、操作题 1.实现如图所示的效果(四列网格布局) <!DOCTYPE html> <html> <head><title>Bootstrap Practice</title

Bootstrap响应式网站开发实战 # 第四章习题答案

一、选择题 1.A 2.B 3.A 二、操作题 1.实现如图所示的效果 <!DOCTYPE html> <html lang="zh-CN"> <head>

Bootstrap响应式网站开发实战 # 第五章习题答案

一、选择题 1.A 2.A 3.A 4.A 5.B 6.B 7.B 二、操作题 请用多媒体对象实现如图所示效果图 <!DOCTYPE html> <html lang="zh-CN"> <head>

Bootstrap响应式网站开发实战 # 第七章习题答案

1.实现如图所示效果 (网页里实现幻灯片切换效果 / 轮播) <!DOCTYPE html> <html lang="zh-CN"> <head><meta

Bootstrap响应式网站开发实战 # 第八章习题答案

如图所示 <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset

修改网站自动关闭时间timeout_优雅关闭线程池的方案

我们经常在项目中使用的线程池&#xff0c;但是是否关心过线程池的关闭呢&#xff0c;可能很多时候直接再项目中直接创建线程池让它一直运行当任务执行结束不在需要了也不去关闭&#xff0c;这其实是存在非常大的风险的&#xff0c;大量的线程常驻在后台对系统资源的占用是巨大…

在这里输入你要搜索的内容怎么不显示_网站收录释疑,当遇到收录问题,我们该怎么处理...

做SEO的童鞋们都清楚&#xff0c;网站收录是一个网站能够获得排名的基础&#xff0c;网站内容被搜索引擎收录&#xff0c;它才有可能在这个搜索引擎里获得排名&#xff0c;这是先决条件。网站收录是什么&#xff1f;打个比方&#xff0c;一个高中生要在全国高考获得名次&#x…

爬虫得到的页面和实际页面有出入_蜘蛛爬虫抓取网站页面的策略

如今&#xff0c;每天都有很多SEO人员在在更新着网站的页面&#xff0c;如果搜索引擎中蜘蛛爬虫没有选择性的抓取页面&#xff0c;那将会是一个庞大的工作量。根据以上情况可以了解到&#xff0c;蜘蛛爬虫在进行抓取的时候&#xff0c;是有一定的策略的&#xff0c;是有选择性的…

Vue预渲染prerender-spa-plugin的使用,改善少数营销页面的 SEO

1. 安装&#xff1a; cnpm i prerender-spa-plugin -D 2. 配置&#xff1a; webpack.prod.conf.js&#xff1a; const PrerenderSPAPlugin require(prerender-spa-plugin) const Renderer PrerenderSPAPlugin.PuppeteerRenderer ... plugins: [ ...// 预渲染new Prerende…

打不开网站 服务器程序错误怎么办啊,“网站打不开”怎么办?快速排查思路及解决方案...

一、域名解析不生效原因分析&#xff1a;域名解析并非添加后就会立即生效&#xff0c;解析不生效就会让域名找不到服务器&#xff0c;这样就会造成网站打不开。解析长时间无法生效或不对&#xff0c;需要联系域名提供商或者dns提供商协助排查。目前解析不生效有以下原因&#x…

git desktop发布到gitee_MAC系统下利用gitee和Hexo建个人网站-各种坑各种填

今天心血来潮&#xff0c;想建一个个人博客把自己的日常一些内容整理放到一起。以前建过一个网站&#xff0c;但是懒于打理&#xff0c;一直也没认真去做&#xff0c;域名和购买的主机的钱也打了水漂。痛定思痛&#xff0c;决定自己这次先来试试免费的&#xff0c;不用花自己钱…

http status 404 – 未找到_[SEO名词]网站404页面是什么?

404其实是一种http状态码&#xff0c;代表用户在浏览网页时&#xff0c;服务器无法提供正确信息或是服务器因不明原因导致不能正常返回信息。简单点说就是网页未找到或者网页丢失&#xff0c;就是出现404状态码。出现404的网页&#xff0c;我们称为404页面。404页面的影响打开的…

android 游戏引擎 排行_海淀seo优化:搜索引擎通用SEO优化技术

常常有一些人问不一样的百度搜索引擎的seo优化工作中有哪些不一样?从SEO提升的实践活动特点上看来&#xff0c;要是认真掌握SEO的压根&#xff0c;搞好基本提升;深入了解百度搜索引擎的优化算法标准&#xff0c;循规蹈矩地做&#xff0c;即便 百度搜索引擎的服务平台不一样&am…

url 参数传递的两种方式_SEO的最佳URL结构是什么?

您的许多访问者都会通过点击链接访问您的网站&#xff0c;因此您可能想知道特定网页的实际网址中的内容是否真实重要。您可能会惊讶地发现&#xff0c;当谈到现场搜索引擎优化时&#xff0c;您的网址看起来真的非常重要。一、什么是URL结构&#xff1f;您的网站URL作为您在网络…

检测到有程序正在访问网络_花旗银行、eBay等网站窃取访问者隐私信息 Behave可监测网站行为...

一个名为Behave&#xff01;的新浏览器扩展。如果网站正在使用脚本对网络上的本地和私有IP地址执行扫描或攻击&#xff0c;则会发出警告。浏览网页时&#xff0c;网页上嵌入的脚本不仅可以用于扫描访问者的计算机中是否存在开放的TCP端口&#xff0c;还可以对网络上的其他设备发…