基于异步架构的图片管理系统后端设计和实现开题报告

 2020-02-10 11:02
1.目的及意义(含国内外的研究现状分析)

互联网时代图片无处不在,无论是IM工具传输的图片,或是像今日头条等平台发布的文章、微博等娱乐社区。虽通信费用越来越低、带宽越来越高,时延越来越低,但如何提高用户使用体验、节约成本依旧是一个很大的挑战。需提高图片上传、下载、存储等体验以及效率,异步化处理必不可少。同步处理与异步处理的区别,同步处理必须严格按照处理流程走,只有当上一步处理结束后,才能进行下一步处理;而异步处理可以将没有依赖的步骤并行甚至延迟执行,从而缩短用户感知的处理时间,提高用户体验。

图片处理网站常见流程,需将图片资源持久化到硬盘,在分布式存储下,需多副本存储。对于不同分辨率、尺寸的图片需压缩裁剪,图片处理是一个IO密集型且CPU密集型的场景,同步阻塞处理不仅需耗费大量的在线处理时间,且增大高峰期集群压力,在调用链较长的场景下,会导致上游频繁超时,降低整体服务的可用性。为每一张图片分配全局唯一的ID,为了减少数据冗余存储,可以为完全相同的图片做只存储一份的处理。

异步的好处:

1. 降低系统的响应时间

2. 削减高峰期的压力

3. 系统实现解耦

异步的坏处:

1.增大系统实现的复杂度

2.增大问题追踪的难度

3.降低系统的可读性

图片与视频处理等有很大的共通之处,同样的设计思想能应用到对象存储、网络文件处理、视频下发等场景中。

在大型网站中异步化通常使用消息队列实现,常用的开源消息队列有像ZeroMQ、Kafka、NSQ、RabbitMQ、RocketMQ等,每个消息队列都有其特性,适用于不同的应用场景。选型错误将带来系统兼容性、性能、吞吐量等问题,提高开发、维护成本。调研尝试一个成熟的方案是很有必要的。

图片资源需耗费大量的存储空间,云计算中的块存储、对象存储、文件存储的应用场景需要开发者话费一定的时间去做调研学习。对于有能力搭建分布式存储的厂商,分布式存储方案有非常多。大规模的分布式存储需要考虑:

1. 高可靠

2. 高可用

3. 高性能

4. 低成本

5. 可扩展性

业界中分布式存储比较成熟的方案有:HDFS、Ceph、阿里盘古系统、对象存储等。

您需要先支付 5元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找,微信号:bysjorg 、QQ号:3236353895;