论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
云原生
›
毕设分享 基于异步架构的图片管理体系后端计划和实现( ...
毕设分享 基于异步架构的图片管理体系后端计划和实现(源码+论文) ...
万有斥力
金牌会员
|
2024-10-13 17:25:49
|
显示全部楼层
|
阅读模式
楼主
主题
822
|
帖子
822
|
积分
2466
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企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
万有斥力
金牌会员
这个人很懒什么都没写!
楼主热帖
解密PC微信数据库:深入探索与实用代价 ...
阿里巴巴Java开发手册(全册四版) ...
几个函数的使用例子:更新VBRK-XBLNR, ...
OpenJDK和OracleJDK的区别说明
EFCore 动态拼接查询条件(表达式树方式 ...
MyBatis-Plus入门教程及基本API使用案 ...
2022年混过的那些SAP项目
Excel 制作可视化看板的思路及操作 ...
深度理解 C# 中的 for 和 foreach ...
MySQL分区表对NULL值的处理
标签云
挺好的
服务器
快速回复
返回顶部
返回列表