分析一个大型软件体系结构——爱奇艺

本文内容为研一开设的高级软件体系结构的大题内容:

题目:任选一个大型的软件,分析它的体系结构

我选的软件是爱奇艺。

我搜索到的资料链接:

技术相关

https://blog.csdn.net/zhlei12345/article/details/78795946 爱奇艺推荐系统架构与实践

https://wenku.baidu.com/view/7e25fc4fb42acfc789eb172ded630b1c58ee9b63.html 爱奇艺移动业务后台系统架构设计

http://www.iqiyi.com/w_19s0fe0fqp.htmlJava JDBC运行流程、体系结构、三层架构回顾

产品相关:

https://www.jianshu.com/p/70c1734a134e 爱奇艺产品分析报告

https://www.jianshu.com/p/af1fe95dce07视频类APP竞品分析

https://www.jianshu.com/p/90b85e9fc353从视频到平台,爱奇艺产品深度体验报告(v33)

https://www.jianshu.com/p/32b1910108ce爱奇艺APP分析报告

我的论述:

软件简介:

爱奇艺是一款集视频、商城、购票、阅读、直播、泡泡粉丝社区等多种服务于一体的软件。爱奇艺为用户提供电影、电视剧、综艺、动漫、娱乐热点资讯等内容,视频播放清晰流畅,操作界面简单友好。

软件结构风格分析:

1.客户/服务器风格

爱奇艺将系统分为两个应用,客户端app作为给用户展示,服务端接收并处理来自客户端的请求

2.三层C/S结构风格

有App作为客户端作为数据展示层 用户请求通过dns解析到服务端入口 ,服务端入口网关层负责服务的负载均衡、限流、鉴权、路由,并交由具体服务进行功能层处理,数据层采用关系型数据库,以及HDFS作为存储层

3.基于层次消息总线的体系结构风格

消息总线作为系统的连接件,为系统构件提供异步通信,爱奇艺采用消息中间件应对流量高峰进行削峰填谷,以及优化用户请求链路 保证用户请求快速响应。

4.层次系统风格:

爱奇艺通过大数据分析每位用户喜好的视频并为其推荐,其大数据平台进行了分层抽象,以NDFS作为存储层,以HBase、Hive、Pig作为数据层,以Storm、Spark、Hadoop Streaming作为计算层,为推荐系统服务。

举例分析:

以爱奇艺推荐系统为例来分析,爱奇艺推荐系统架构分为三层:计算层,数据层,存储层。其结构分析如表一所示,技术架构分析如图1所示。

       表 一

 

推荐业务逻辑

计算层

Storm

Spark

Mapreduce

Hadoop streaming

数据层

HBase

Hive

Pig

存储层

HDFS

 

分析一个大型软件体系结构——爱奇艺_第1张图片

                                                 图 1

 

hadoop与Spark区别分析:

结构上:hadoop包括了高可用的分布式集群多节点存储HDFS和分布式计算框架MapReduce,Spark一个专门用来处理分布式存储数据的计算框架,其本身不提供分布式的数据存储。

数据处理方式上:hadoop中的MapReduce的数据处理是分步处理,每读取数据一次就只能处理一次,而Spark可以进行批量处理数据,并可以在内存中接近实时得完成所有数据分析

数据安全恢复上:由于hadoop的HDFS要求数据存放在磁盘上,因此恢复较为顺畅,但是spark的数据对象(不是数据)一般可以存放在磁盘或者内存当中,但是安全性没有hadoop高,都可以进行数据恢复.

质量属性分析:

1可用性

由于同一时间上线人数过多会导致平台瘫痪,需要开发人员抢修后恢复运行。出现概率约每年1-2次,一个工作日内即可修复。其他时间系统均能正常运行。

2安全性

非授权用户试图访问数据或服务、修改数据,系统对用户进行验证,阻止访问及修改数据或服务,非授权用户的操作被拒绝。

3可修改性

有节日庆典的时候,如国庆节,只需爱奇艺要修改自己的系统界面,并且添加一些其他的功能,系统人员后台更新,测试部署成功自动更新,用户登录即可。爱奇艺适用于Android、ios手机及平板电脑还有不同版本的web浏览器,技术平台曾经从php转到java。爱奇艺具有在不同计算环境下运行的能力,即具有良好的可修改性。

4.性能

爱奇艺国庆直播阅兵的时候,访问量成倍增长,依然没有崩溃,说明性能还是经得起考验的。

5.可测试性分析

单元测试人员测试商品浏览查询模块,输入关键词,在较短的时间内完成对商品的检索。

6.易用性

用户打开一个想要观看的视频操作非常简单快捷。

对比分析:

技术架构方面,爱奇艺等视频播放软件都相似,因此同类产品以资源优势及运营模式相竞争。爱奇艺增加了更多自制剧的投入将更多的重心放在了独立IP的孵化,为VIP会员提供一站式闭环内容,平台以丰富的额外内容来增加用户粘性优酷起步较晚,剑走偏锋,率先扬帆出海现在优酷手中已经握有主流英剧资源腾讯视频对于版权覆盖方面努力打造成国内内容最为全面的视频网站。

软件缺点及改进分析:
缺点:
1.仍然存在系统瘫痪症状。

2.广告质量及影视作品质量把关不严,比如今年的热播新剧《亲爱的热爱的》地图出错问题。

3.app版本快速迭代、版本碎片化问题严重,导致后台接口背负的历史包袱越来越重。

改进:

  1. 完善软件压力测试避免系统崩溃恶果
  2. 对于熔断组件采取故障隔离,配置动态加载机制,增强监控机制。
  3. 针对直播等视频的细化和筛选需要增加人力资源。

你可能感兴趣的:(高级软件体系结构)