架构模式论文

  软件体系架构质量属性

李胜明   石家庄铁道大学 河北省石家庄市

 

性能是指系统的响应能力,即对外部刺激(事件)做出反应时所需要的时间或在某段时间内所处理的事件个数。一般我们会用等待时间、处理期限、系统吞吐量、响应抖动、未处理事件、丢失数据等指标了解系统性能。

  等待时间:刺激达到和系统对其做出响应之间的时间。

  处理期限:最长等待时间。

  系统吞吐量:系统单位时间处理事务的次数。

  响应抖动:等待时间的变化。

  缺失率(未处理事件):由于系统太忙因而无法做出响应所导致的未处理事件的数量。

  数据丢失:因为系统太忙所丢失的数据。

 资源需求:

需求具有两个特性:资源流中事件之间的时间间隔;每个请求所消耗的资源

1.减少一个事件流所用的资源

1)提高计算效率,如改进关键算法

比如在数据查找时采用二分查找法可以大大减少查找时间

2)减少计算开销

比如保留上次计算结果

2.减少处理事件的数量,减小频率。

1)管理事件率

2)控制采样频率

3.控制资源的使用

1)限制执行时间

2)限制队列大小

 由于中国地域广,跨度大,即便是光纤传输也会有延迟,网络的带宽将直接影响数据的传输,带宽的速度分为上传和下载,对于一般用户来说,对下载的需求远远大于上传的需求,比如百兆带宽,也就是100m,下载速度理论上是12.5m/s,而上传速度大约不到1.25m,但是服务器端上的上传和下载同样重要,最极端的情况下,每下载一个针对数据库数据操作,就要响应一个结果出来,那么针对这些这些,带宽的工作量就会更加沉重。

针对用户一次操作,比如淘宝搜索一个商品,界面反映出商品的信息这个过程,用户端的带宽使用是完全够用的,开发人员也没有办法决定,那么就要针对服务器端的带宽进行优化和提高,最简单的方法是增加服务器的带宽,但是盲目的增加会很消耗成本,性价比最低,那么就要针对不同软件不同的业务需求来计算网络带宽的需求。对于不同运行商,不同用户的反应时间是不同的,比如用户端是联通的宽带,访问的服务器端也联通的宽带会快速访问,比用户端是移动和电信要快的多,所以针对不同地区建立属于不同运行商的宽带

  第三阶段主要针对数据库端进行操作,以阿里云数据库为例,采用了异地多活体技术,在多个地区部署服务器,如果一个地区的服务器发生不可逆转的情况,马上其他地方的服务器会迅速上线,不同的历史数据在慢慢导入,那么就会产生数据一致性的问题?将业务划分成各个单元,根据用户和业务的不同进行划分,一次操作进行封闭,这样属于同类型的操作都会处于不可操作的情况,那么针对这样的一个单元在同一进行处理,就能解决数据一致性的问题,最主要的是阿里云采用了数据迁移服务DTS,这里就不进行具体的阐述

      阿里云最主要的的是针对自己产品的服务,开发出属于自己的服务器OceanBase,OceanBase对比传统的服务器是将数据分为主要数据和次要数据,主要数据是相对稳定改变较少的数据,而次要数据就是将一段时间内对数据库的增删改查以增量的方式进行存储,再根据主键主体数据的存放来进行查找,OceanBase的数据库操作日志非常的全面,如果出现宕机或者停电,可以迅速将操作日志进行迁移,达到减少数据丢失

 

posted @ 2020-04-22 10:49  李胜明  阅读(175)  评论(0编辑  收藏  举报