IT评测·应用市场-qidao123.com
标题:
毕设分享 基于异步架构的图片管理体系后端设计和实现(源码+论文)
[打印本页]
作者:
东湖之滨
时间:
2024-6-11 11:23
标题:
毕设分享 基于异步架构的图片管理体系后端设计和实现(源码+论文)
0 项目说明
基于异步架构的图片管理体系后端设计和实现
提示:适合用于课程设计或结业设计,工作量达标,源码开放
本体系仅向外提供JSON接口,不返回HTML/CSS/JS等可视化数据,相对于经典的MVC架构仅有MC,也就是只有模型层、控制层。
1 项目说明
在互联网、多媒体时代,图片无处不在,云盘算服务商针对图片垂类的支持欠缺,各个企业重复开辟征象严重。图片管理是CPU麋集型、IO麋集型场景,使用同步处理惩罚时延高、流程长,体系高峰期、低峰期负载相差较大,造成资源浪费。
使用异步架构可以大概很好地解决同步场景下的题目,将处理惩罚流程分为核心路径和非核心路径,核心路径使用同步处理惩罚,非核心路径通过消息队列异步化处理惩罚,紧缩处理惩罚流程,降低处理惩罚时延,异步化还能起到削峰的作用。添加、删除、修改非核心路径的处理惩罚,不需改动核心路径代码,增大体系的可维护性和可扩展性。
2 相关技术
异步化是将非核心路径的处理惩罚转移到不同服务实例、不同时间举行处理惩罚,到达提高用户体验,体系削峰、流程优化、提高体系可扩展性的目的。
本体系主要使用的技术有:
NSQ消息队列体系
MySQL关系型数据库体系
HDFS分布式存储体系
Redis缓存体系
Go编程语言
Docker容器管理体系
3 体系设计
3.1 体系功能布局
图片管理体系后端的主要需求:
上传
下载
格式转化
添加水印
查看图片元数据
查看上传汗青
从处理惩罚的请求范例看,可将整个体系划分为三大模块:
写模块
读模块
消耗者模块
写模块处理惩罚需写存储的请求,如上传、删除图片,其处理惩罚核心流程,将非核心流程通过消息队列异步化到消耗者模块处理惩罚。
读模块提供接口供外部调用访问图片的二进制数据和元数据,仅处理惩罚读存储的请求。
消耗者模块异步完成非核心流程处理惩罚,将处理惩罚均匀打散到不同时间、不同呆板上处理惩罚,异步化到达降低处理惩罚时延、负载均衡、削峰的目的。
3.2 设计模式
本体系夸大异步架构,异步通过消息队列实现,将非核心处理惩罚步调异步化到不同时间、不同呆板上做处理惩罚。因为采用消息队列,所以选择生产者消耗者模式举行处理惩罚。
为了在开辟前期中测试阶段满足测试需要,在还没接入HDFS分布式存储时,将图片简单地存储在本地文件体系中,方便后续替换不需要修改大量的代码,采用面向接口编程,对于每个实现独立测试。在后续实现中需替换分布式存储时,可将代码改动降低到最小。如需将本地存储替换为HDFS、HDFS替换为Ceph。
开辟中采用Go语言保举的实践,使用组合模式而不是集成模式。
因为WebHdfs中采用Restful HTTP协议交互,如果每个请求编程中都使用重复代码拼接HTTP请求,不但代码复用率低,而且容易堕落。将WebHdfs交互部门使用适配器模式举行抽离。到达每次只需调用适配器的代码,即可以大概访问WebHdfs的目的。
4 论文概览
5 项目工程
**项目分享: ** https://gitee.com/asoonis/htw
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/)
Powered by Discuz! X3.4