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

news/2024/5/18 14:04:54/文章来源:https://blog.csdn.net/weixin_33928467/article/details/92656258

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

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

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

相关文章

这家来自法国的摄像头评测网站上线了中文版,还揭秘了评测标准

当你正在为买啥手机发愁,发现性能可以跑分,参数可以对比,就连续航都有个时间标准,唯独摄像头不知道哪家强,现在的手机拍照动辄莱卡、双摄、人工智能算法…也不知如何摸清门路。 而现在,测试相机传感器、镜头…

controller中跳转第三方网站_Web开发的网站首页处理及Thymeleaf模板引擎

一、上面描述了静态资源文件夹存放路径,下面来描述Web开发的网站首页处理。可以看到,首页存放路径与之前的静态资源配置文件的路径是一样的(其名称固定命名为index.html),即也可以放置于之前所描述的那四个目录名下:1."class…

cdn对动态网站有作用吗_使用CDN对动态网站内容加速有效果吗

随着加速乐、Webluker等云加速平台的流行,CDN不再是少数网站的专享产品,而逐渐成为中小网站的普遍选择;使用CDN,可以在网站和用户之间增加一层网络架构,把内容分发到接近用户的网络“边缘”,让用户更快地通过CDN节点获…

有权限的网页能分享内页?_如何做好网站内页排名?

说起网站内页优化,其实有很多企业在网站优化的时候,往往会忽略网站内页作用,最终导致网站内页没有排名或者排名靠后。那么我就来分享下如何做好网站内页排名?一、网站内页为什么没有排名?一般情况下,网页内…

增城seo搜索引擎优化_seo搜索引擎优化比较重要

一、网站内部优化(1)代码标签优化,主要有META标签优化:例如:TITLE,KEYWORDS,DESCRIPTION等的优化,也简称TDK优化。可以参考千矩网络学习。(2)内部链接的优化,包括相关性链接(Tag标签),锚文本链接&#xff0…

用php作为开发语言的好处,中山PHP建网站:使用PHP语言建设网站都有哪些优点?...

Php是一种常用的网站开发语言,890%的网站都是用PHP开发的。那么为什么选择PHP来构建企业网站呢?他的优点如下:用中山PHP建网站有什么好处?第一,强大。随着php版本的发展,从5.0版到7.0版,其函数库和插件不断…

cas 证书 linux,CAS培训教材_Linux下载_Linux公社-Linux系统门户网站

service[可选]客户端尝试访问的应用的标识符。在几乎所有情况下,这将是应用的URL。请注意,作为一个HTTP请求的参数,此URL的值必须是符合RFC 中URL编码的描述。如果没有指定service并且单点登录session尚不存在,CAS应要求具有凭证的…

华为云-容器化网站部署搭建调整版(亲测可用)

1.1.1 实验介绍 1.1.1.1 关于本实验 Cloud2.0时代,企业更加关注应用上云,期待应用的高效迁移部署和快速迭代开发。在容器运用日趋普及的当下,利用容器来提升资源利用率、优化算力、简化运维已成了企业云上开发与运维的共识。在电商、游戏、互…

了解了解Nginx网站服务

文章目录一、Nginx概述1、概述2、Nginx 优点二、Nginx安装操作步骤1、首要任务2、Nginx配置文件3、添加本地映射4、访问状态统计5、访问控制6、基于客户端访问控制7、虚拟主机8、基于端口的虚拟机9、基于不同IP访问一、Nginx概述 1、概述 Nginx(engine x&#xff…

LAPM搭建动态网站(论坛)

环境配置 首先安装Linux 再在liunx里面安装apache dnf install httpd -y 安装php dnf install php* -y 安装 mariadb 数据库 数据库安装后先启动 systemctl start mariadb 数据库初始化(设置密码,之后y或n都行直到设置结束) mysql_mysql_secur…

Python爬虫某招聘网站的岗位信息

前言 文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 作者:阿尔法游戏 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http://t.cn/A6Zvjdun 故事又要从一个盆…

【趣味案例】Python 教你 4 行代码开发新闻网站通用爬虫

GNE(GeneralNewsExtractor)是一个通用新闻网站正文抽取模块,输入一篇新闻网页的 HTML, 输出正文内容、标题、作者、发布时间、正文中的图片地址和正文所在的标签源代码。GNE在提取今日头条、网易新闻、游民星空、 观察者网、凤凰网…

【趣味案例】用Python假装黑客装逼,当着朋友的面破解他的网站密码!

如何破解iphone登陆密码 今天看了一篇关于如何破解iphone手机密码的文章,瞬间觉得科学技术不是第一生产力,why? 根据“可靠消息”称,即便美国FBI也无法轻易的对iphone手机进行暴力破解,当然美国有一家黑客公司可针对i…

爬虫Scrapy框架学习(六)-腾讯招聘网站台爬取案例-深究CrawlSpider类在项目中的具体功能

在本案例中将对传统Spider类和CrawlSpider在实际项目中的应用进行对比,所完成的功能为一样的结果,采用三种不同的方式进行代码编写,请读者自行学习。 传统Spider实现数据爬取CrawlSpider实现数据读取(网站解析有问题暂时不能够实…

如何用Python爬取小游戏网站,把喜欢的游戏收藏起来(附源码)

简介: Python 是一门简单易学且功能强大的编程语言,无需繁琐的配置,掌握基本语法,了解基本库函数,就可以通过调用海量的现有工具包编写自己的程序,轻松实现批量自动化操作,可以极大提高办公和学…

遇到网站的反爬虫机制,那么我们应该来如何应对呢?

前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 1、使用代理 适用情况:限制IP地址情况,也可解决由于“频繁点击”而需要输入验证码登陆的情况。 这种情况最好的办法就是…

django网站部署流程

服务器 买个服务器,在管理控制台里开启80端口443端口,我用的是阿里云,学生免费试用一年(白嫖)远程登录到服务器,用scp将本地项目上传到云服务器 # win10的Powershell或者下载WinSCP软件 scp -r 本地项目文…

2008服务器网站设置密码,2008服务器怎么设置密码

2008服务器怎么设置密码 内容精选换一换代码迁移工具进行代码迁移时,需要调用Linux下的rpm、deb等命令才能完成扫描和迁移相关任务,这些命令和逻辑必须在后端Linux运行。IDE插件只支持以Web模式使用root用户安装工具,不支持以CLI模式安装工具…

vue - - - vuepress文档网站部署github

环境 安装nodejs: https://nodejs.org/en/, 版本不能太高(> 8.6即可) 安装git: https://git-scm.com/ Hello World vuepress官网: https://www.vuepress.cn/ 第3步需要等待下载依赖. 1~3步完整命令: zichenDESKTOP-3176F4L MINGW64 ~/Desktop $ mkdir vuepress-starter…

网站数据统计分析之一:日志收集原理及其实现

转 http://my.oschina.net/leejun2005/blog/292709 网站数据统计分析工具是网站站长和运营人员经常使用的一种工具,比较常用的有谷歌分析、百度统计 和 腾讯分析等等。所有这些统计分析工具的第一步都是网站访问数据的收集。目前主流的数据收集方式基本都是基于jav…