视频聚合APP的后台架构

31 May 2013

一、后台模块与功能:

  1. WebService:为客户端提供基本的数据接口服务
  2. CMS:为内容运营编辑提供管理数据,管理爬虫的平台
  3. 爬虫系统:完成爬取任务,包括视频网站爬取以及BT站点爬取
  4. P2P下载器:接受爬虫系统发送过来的下载任务,并由监控模块监控P2P下载任务的状态
  5. 截图任务模块:接受爬虫系统发送过来的截图任务,进行截图,检测时长等视频信息并更新数据库
  6. 视频检测服务:提供互联网主流视频网站的视频地址解析服务。

三、改进计划:

  1. 目前的任务队列都是临时放在了MongoDB里面,采用轮询方式,最高效的方式应该还是使用Redis的阻塞队列之类的。
  2. 视频检测服务的效率严重依赖于第三方视频网站的响应速度,并且没有cache,是其压力还是很大的。计划增加cache层,并且针对三方网站不同的防盗链特点制定不同的cache策略
  3. 多个下载服务的存储系统仍采用简单的磁盘存储,未来量增加以后不可用。需要使用分布式存储系统。
  4. Web下载服务器为单台机器没有负载均衡,需要配合分布式存储系统和CDN进行。