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

news/2024/5/15 19:52:59/文章来源:https://blog.csdn.net/weixin_33858336/article/details/92405373

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

前言

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

而软件架构即“有关软件整体结构与组件的抽象描述,用于指导大型软件系统各方面的设计”。

一般来说软件架构需要关注性能、可用性、伸缩性、扩展性和安全性这5个架构要素。

1

性能

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

  • 浏览器端:可以通过浏览器缓存、页面压缩传输、合理布局页面、减少Cookie传输等手段,甚至可以使用CDN加速功能。
  • 应用服务器端:可以使用服务器本地缓存和分布式缓存,也可以通过异步操作方式来加快响应,在高并发请求的情况下,可以将多台应用服务器组成一个集群共同对外服务,提高整体处理能力,改善性能。
  • 数据库服务器端:可用使用索引、缓存、SQL性能优化等手段,还可以使用NoSQL数据库来优化数据模型、存储结构等。

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

2

可用性

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

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

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

3

伸缩性

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

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

4

扩展性

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

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

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

  • 事件驱动通常利用消息队列实现,通过这种方式将消息生产和处理逻辑分隔开。
  • 服务器服务则是将业务和可复用服务分离开来,通过分布式服务框架调用。新增加产品可用通过调用可复用的服务来实现自身的业务逻辑,而对现有产品没有任何影响。

5

安全性

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

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

security

这个世界没有绝对的安全,正如没有绝对的自由一样,很遗憾,这个世界上没有固若金汤的网站安全架构,我们只能每天打起百分百的精神,预防可能的漏洞或者攻击。

转载于:https://my.oschina.net/u/3739863/blog/1814634

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

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

相关文章

百度快照快速排名,路越来越难走,网站优化的第二春来了

继17年11月百度推出惊雷算法以来,就在昨天百度对惊雷算法进行了2.0升级。2.0主要针对“恶意制造作弊超链”和“恶意刷点击”的作弊行为进行了算法升级。 此次算法相对于之前更严重的是:惊雷算法2.0将对作弊的网站限制搜索展现、清洗作弊链接、清洗点击&a…

PR与BR的区别,有什么SEO参考价值!

虽然,谷歌PR早已停止更新,但如果你今年在关注域名抢注市场,你会发现一个有兴趣的现象,那就是PR值高的域名,经过竞价,价格是一路水涨船高。这很明显说明一个问题,高PR值的域名在建站中&#xff0…

nginx网站攻击防护

1.上上个月架构全部迁移上云以后,总的来说比较稳定,业务量也上来,可爱的坏人也来了,7X24小时不停恶意攻击我的网站,第一次收到报警是网站流入流量1分钟以内连续3次超过1000000bps,换算下1M/s秒,平时没那么大流量的啊&a…

大电商网站导航用户体验对比

最近挺感兴趣研究电子商务网站的导航,特地找6个网站做横向对比四个综合性大站 http://www.360buy.com/ http://dangdang.com/ http://www.suning.cn/ http://shop.qq.com/ 两个垂直电商站点 http://www.letao.com/ http://www.mbaobao.com/ 先上截图: 京…

新网站如何通过技巧快速获得流量?

任何一个流量类的网站都需要长期的seo优化与维护,多数站长搭建网站的目的也是通过网站获得一定的流量和转化,但是做过seo的朋友都知道,网站获得大量流量最好的方法就是获得高的排名,但是通常新网站想要通过seo获得排名是需要长时间…

个人博客一|抓取崔庆才个人博客网站前端源码

1、准备 工具:仿站小工具V9.0 工具获取方式一: 关注微信公众号 微信公众号『stormsha』,后台回复『仿站工具』获取工具 工具获取方式二: 仿站小工具官网 https://smalltool.github.io/崔庆才博客 https://cuiqingcai.com/从网站源…

网站优化 14条--雅虎十四条优化原则

相信互联网已经越来越成为人们生活中不可或缺的一部分。Ajax,flex等等富客户端的应用使得人们越加“幸福”地体验着许多原先只能在C/S实 现的功 能。比如Google机会已经把最基本的office应用都搬到了互联网上。当然便利的同时毫无疑问的也使页面的速度越来越慢。自己…

网站漏洞怎么修复对于thinkphp的漏洞修复

2019独角兽企业重金招聘Python工程师标准>>> THINKPHP漏洞修复,官方于近日,对现有的thinkphp5.0到5.1所有版本进行了升级,以及补丁更新,这次更新主要是进行了一些漏洞修复,最严重的就是之前存在的SQL注入漏洞&#xff…

英文SEO采集伪原创软件Kontent Machine注册使用实战教程!

做跨境电商的童鞋们,总会遇到这样的问题:我们英文很差或者一般,无法写出精彩的原创英文文章进行SEO推广。这确实是很难的,即使许多商务英语过硬的都难以写出高质量英文原创文章,因为你不熟悉他们的生活环境&#xff0c…

大型网站技术架构(六)网站的伸缩性架构

2019独角兽企业重金招聘Python工程师标准>>> 网站系统的伸缩性架构最重要的技术手段就是使用服务器集群功能,通过不断地向集群中添加服务器来增强整个集群的处理能力。“伸”即网站的规模和服务器的规模总是在不断扩大。 1、网站架构的伸缩性设计 网站的…

使用hexo + github搭建个人博客网站

做一个积极的人编码、改bug、提升自己我有一个乐园,面向编程,春暖花开!搭建个人 博客,手把手教程,,感谢长风破! 一个在技术路上努力的勇者!我搭建的博客地址:http://www.…

32个设计非常精美的国外网站作品范例(上篇)

让网站的设计能够吸引用户的眼球是每一个专业网页设计师的梦想。为了让网站更具吸引力,设计师们在设计之前需要在头脑中规划好排版、字体的选择、插图以及配色方案等等。因此,要设计出一个精美的网站对于设计师们来说是件非常有挑战的事情。今天这篇文章…

大型网站技术架构(六)网站的伸缩性架构

2019独角兽企业重金招聘Python工程师标准>>> 网站系统的伸缩性架构最重要的技术手段就是使用服务器集群功能,通过不断地向集群中添加服务器来增强整个集群的处理能力。“伸”即网站的规模和服务器的规模总是在不断扩大。 1、网站架构的伸缩性设计 网站的…

如何在网页上显示其他网站的数据_这里有一份HTML的超全教程,自学建网站不再是梦...

在互联网高速发展的今天,我们通过浏览器可以看到各种各样的网站,包含了各式不同的领域还有内容,通过点击网站上的标签和栏目我们就能够很方便地看到网站上显示的各种数据,而这些都是建立在HTML这种标记语言的基础上做到的。HTML的…

浏览器打开出现证书错误_IE提示已阻止此网站显示有安全证书错误的内容

问:访问邮箱、支付宝等网站时,IE提示已阻止此网站显示有安全证书错误的内容,无法继续操作,怎么办?答:推荐使用以下三步法排查、解决该问题!第一步:看一下你的系统时间是否正确。看清…

百度分享代码_wordpress商城网站添加分享按钮方法

前面好一佳说到了wordpress商城网站设置网站客服方法,你是不是已经学到了,简单的吧。一个网站如果做得好了,客户喜欢了,是不是就很想把这个网站分享给自己的朋友,这个时候分享按钮就显得格外的重要了,如果一…

python中series怎么重建索引_搜索引擎优化中网站的分类和标签怎么设置 - 公司动态...

在搜索引擎优化,大型的网站中我经常会看到有着乱七八糟分类和标签。为内容增加分类和标签是分类系统中典型的方法,如果使用得当,将会增强搜索引擎优化。但如果使用不当,可能会影响体验,甚至排名。下面和搜索引擎优化小…

九天自助建站系统_尝试使用自助建站系统做网站

找程序员开发网站不是建站唯一方法,做网站也可以选择用“自助建站系统”,实现在没技术能力情况下,独立开发制作出一个网站,下面就来体验看下自助建站系统如何做网站!这里我们拿“建站宝盒”自助建站系统为案例&#xf…

百度刷相关wf5搜_微信搜一搜SEO是什么?新媒体运营一定知道,帮你自动增粉!...

微信搜一搜大家应该都知道,一般用户会搜查热门话题文章、相关朋友圈、找找视频表情包啥的,一般的新媒体小编就会搜搜同行有哪些新文章,找找问答之类的,(新媒体运营注意了)这个时候就会粉丝悄悄的关注我们公众号,进入小…

qt 显示加速_Cloudflare 入门教程:使用 Cloudflare 免费 CDN 加速 amp; 保护自己的网站...

前言之前也发布过 Cloudflare 系列教程,但是时间久了,界面和操作有些变化,对于新手在操作时可能有点摸不着头脑。本文定位为「小白向的 Cloudflare 入门配置教程」,主要讲下 Cloudflare CDN 的使用方法。详细介绍下如何在 Cloudfl…