大规模图片系统设计与架构方案-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

大规模图片系统设计与架构方案

2016-02-29 18:27:20 4407 1

基本需求:设计一个图片服务器,能够高效的提供各种平台语言接口,包括上传、编辑、删除、切图、排序等功能,目前数据量大概是1亿张。

各个平台复杂需求:图片上传后需要立刻能显示,能进行删除、排序等操作。图片和实体资源有关联性:一个实体对应N张图片,或者对应1张图片,还有图片和实体的对应关系表存储。

图片转换:因为有些实体资源对应N张图片,一张图片对应N张大小的缩略图,若是上传时执行转换操作肯定会很慢,其中多的时候涉及到20来张图片的处理,所以一般得用异步处理。

图片存储:图片关系存储和图片文件存储规划都涉及到各个地方调用的简便性。

我说下我们现在的这个系统,node.js+redis+activemq ,现在遇到的很多问题包括需求复杂,需要大量的修改,还有当用户上传图片的时候,比如文章里面的图片上传,文章还没有完成时,既要进行图片的上传,如何做关联。前台列表页调用图片N张图片,需要循环读取,效率会很差。

基于以上的几点,请求各位,这样的系统如何设计,使用什么软件,什么结构,悉心听取大家的意见。

取消 提交回答
全部回答(1)
  • 落地花开啦
    2019-07-17 18:50:46

    你的需求如果这么复杂,肯定要把图片地址的组织和分发独立出来作为一个单独的服务器,存储图片的肯定是nginx 集群,或者是用CDN做前端缓存。
    要简单的做法就是对每张图片hash,然后把hash值作为key 来在调用该图片的时候存在,然后根据图片hash 计算出对应的服务器域名和地址,例如一张图片hash是68b329da9893e34099c7d8ad5cb9c940,则计算出他的地址是http://68.img.com/b/3/29/da9893e34099c7d8ad5cb9c940.jpg这样解决负载问题,同时多域名分发能突破ie单域名2线程限制提高图片加载速度。
    用redis和activemq,估计类似的设计已经考虑过了,现在如果还要有提高就参照facebook的设计吧,就是提高组织和分发的效率

    0 0
相关问答

1

回答

对于跨地域场景下,解决分布式系统的一致性的问题中的业界解决方案的内容有什么?

2022-05-12 18:45:36 88浏览量 回答数 1

1

回答

基于LSM-tree架构的OLTP存储引擎设计存在的问题?

2022-05-08 15:48:44 143浏览量 回答数 1

0

回答

阿里云物联网开发支持LWM2M、MQTT、COAP哪些协议,支持NB、LoRa、WiFi等哪些通信模

2022-01-11 23:37:05 324浏览量 回答数 0

1

回答

系统架构方案

2019-01-18 11:37:47 600浏览量 回答数 1

0

回答

FLASH:大规模分布式图计算引擎及应用

2018-07-16 21:55:58 1381浏览量 回答数 0

1

回答

MaxCompute SQL执行提示我输入的数据会超过100G,我设置了过滤执行条件,为什么还不行,规则是什么?

2017-06-27 09:41:07 1953浏览量 回答数 1

1

回答

rds数据库设置utf8mb4字符集存emoji表情变成?号

2017-05-27 19:36:19 3079浏览量 回答数 1

1

回答

打不开邮箱登陆页面 mail.wkci.net

2016-09-07 18:34:08 2169浏览量 回答数 1

1

回答

关于 android studio 创建blank activity时生成content_main.xml

2016-03-05 15:14:06 4512浏览量 回答数 1

4

回答

在万网备案系统相册有里有照片,在阿里云系统还要去拍不?

2012-10-03 17:38:23 5778浏览量 回答数 4
+关注
落地花开啦
喜欢技术,喜欢努力的人
0
文章
7824
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载