以下为《什么是软件架构》的无排版文字预览,完整格式请下载
下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。
什么是软件架构
维基百科定义:软件架构是指有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。
软件架构5大要素:
性能
可用性
伸缩性
扩展性
安全性
可以通过考察这5大要素来衡量一个软件架构设计的优劣。高性能
网站性能是客观的指标,具体体现到?响应时间、吞吐量?等技术指标。性能优化的最终目的:改善用户体验。
网站性能测试是性能优化的前提和基础,也是性能优化结果的检查和度量标准。下面从三个视角来看看网站性能的不同标准:
用户视角?网站响应速度快慢(通信时间,处理时间、解析响应数据的时间)。
开发人员视角?关注程序本身及其相关子系统的性能,包括响应延迟、系统吞吐量、并发处理能力、系统稳定性等技术指标。
运维人员视角?关注基础设施性能和资源利用率,如网络运营商的带宽能力、服务器硬件配置、数据中心网络架构、服务器和网路带宽的资源利用率等。
性能测试指标
网站性能测试的主要指标主要有:
响应时间:应用执行一个操作需要的时间(从发出请求开始到收到最后响应数据所需要的时间
)。
并发数:系统能够同时处理请求的数目,反映了系统的负载特性。。
吞吐量:单位时间内系统处理的请求数量,体现系统的整体处理能力性能分析与优化
排查网站的性能瓶颈的方法:检查请求处理的各个环节的日志,分析哪个环节响应时间不合理、超过预期;然后检查监控数据,分析影响性能的主要因素是内存、磁盘、网络还是 CPU,时代吗问题还是架构设置不合理,或者系统资源确实不足。
高某某
网站的可用性描述网站可有效访问的特性。
可用性度量:服务7*24可用,可用性超过99.99%。
网站不可用时间(故障时间)=故障修复时间点-故障发现(报告)时间点网站年度可用性指标=(1-网站不可用时间/年度总时间)*100%
硬件故障是常态,网站的高某某架构设计主要目的:保证服务器硬件故障时服务依然可用、数据依然能保存并能被访问。
高某某架构的主要手段:数据和服务?冗余备份?及?失效转移。一个典型的网站设计通常遵循三层架构模型:
应用层:负责具体业务逻辑处理服务层:负责提供可复用的服务数据层:负责数据的存储于访问高某某的应用
应用的显著特点:无状态性。
可伸缩
伸缩性 是指通过不断向集群中加入服务器的手段来缓解不断上升的用户并发访问压力和不断增长大数据存储需求。
衡量架构伸缩性标准:
? 是否可以用多台服务器构建集群
? 是否容易向集群中添加新的服务器
? 加入新的服务器后是否可以提供和原来的服务无差别的服务
? 集群中可容纳的服务器数量是否有限制
网站的伸缩性设计分类
网站的伸缩性设计主要分成以下两类:
1. 根据功能进行物理分离实现伸缩
通过物理上分离不同的网站功能,实现网站伸缩性的手段,可以在网站发展的任何阶段使用。不同服务器部署不同的服务,提供不同的功能。
分离主要分为两种情况:
? 纵向分离(分层后分离):将业务处理流程上的不同部分分离部署,实现系统伸缩性。
? 横向分离(业务分割后分离):将不同的业务模块分离部署,实现系统伸缩性。
2. 单一功能通过集群实现伸缩
随着网站访问量的逐步增加,单一的服务器也不同满足业务规模的要求,需要使用服务器集群,将相同服务部署在多台服务器上构成一个集群整体对外提供服务。
可扩展
软件设计的终极目标:低耦合 系统。
低耦合系统更容易扩展,低耦合模块更容易复用,低耦合的系统设计会让开发过程和维护变得更加轻松和容易管理。
主要目的:网站的架构能够快速响应需求变化。
可扩展架构的核心思想:模块化,并在此基础之上,降低模块间的耦合性,提高模块的复用性。 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 且将菜单和导航集中在上方横列和下方横列中。其优点是充分利用版面,信息量大,一般应用于大型网站,如网易等。
3.曰字形对称布局结构
这是一种对称的布局结构,可上下对称,也可左右对称,该类布局结构具有强烈的反差对比、视觉冲击力强的特点。但是这种结构不好把握,并制作时较为困难,因此很少被采用,一般只用于设计型站点。
4.pop布局结构
这种布局结构适用于广告网页,它将页面布局得如同一张宣传海报,不讲究内容,也没有固定的排版模式,通常以精美的图片为页面的设计核心,采用这种布局结构的一般是个人网站和娱乐类网站。
5综合布局结构
这是一种较为复杂的布局,使上面几种布局结构的结合。这种方式也被广泛采用。
[文章尾部最后300字内容到此结束,中间部分内容请查看底下的图片预览]请点击下方选择您需要的文档下载。
以上为《什么是软件架构》的无排版文字预览,完整格式请下载
下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。