`
gege_s
  • 浏览: 18759 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

图片存储架构一

 
阅读更多


     事情是这样的,我今天做了图片接口,接触到了现有图片的存放策略,觉得这里面有些东西值得好好想想。

从物理结构上说,现在的存放模型是这样的:
1.目前只有一个MongoDb,所有的图片都存放在这里面。
2.在这个MongoDb里只有两个桶:big,small分别用来存放大图和小图。

从下面几方面进行分析:
1.存放,很方便,但当图片数量和体积大到一定程度,会放不下,也很难配置集群,比如把一个桶里面的内容分配到好几个文件系统里面,这个可能做不到。
还有就是在存放的时候,因为没有根据业务进行划分,只是简单的大图小图的区分,在保存图片位置的时候,往往在mongodb生成的id中加上前缀后缀,
无法解决过虑重复图片,存在大量的图片冗余。
2.查询,很不方便,目前在mysql表里存放的就是mongodb生成的id,而没有指明是哪个库的哪个桶的图片(因为现在只有一个库两个桶,还能区分的开),这样就导致复杂的判断步骤,要通过前缀和后缀来判断,有时候只能通过表的列名来判断,这样不仅让代码晦涩难懂,开发效率低下,也不存在扩展的可能了。

我做的图片读取的接口这样定义:

/{request_context}/{mongodb_name}/{bucket_name}/{id}

request_context:请求上下文,每个请求都会有这样一个上下文信息,也可以配置解决,我用一个theadlocal解决请求上下文在请求线程上传递,(是一种松耦合的实现方式,struts2,spring mvc都在用这种方式,进行接解耦)。

mongodb_name:mongodb的名字,方便以后扩展,以后可以增加多个库我这个接口都不用改动。

bucket_name:桶的名字,可以根据不同的业务来区分这些桶,比如用户,物品,话题,官方推荐,都可以有自己的桶。也是方便以后扩展,只要知道桶的名字接口就可以到指定的桶中查找。

id:在存放图片的时候,mongodb生成的id,能过它可以定位一个图片的最终位置。

从上面的接口定义可以看出来,以后不管是如何更改mongodb或是添加新的库 桶 都不会影响到我的接口。


分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    淘宝网图片存储系统架构

    ### 淘宝网图片存储系统架构解析 #### 一、背景及挑战 淘宝网作为中国乃至全球最大的电子商务平台之一,面临着极其庞大的图片存储与访问压力。据流量统计,淘宝网的整体流量中,图片访问流量占比高达90%以上,而...

    云存储架构设计及解决方案.pdf

    云存储架构设计是阿里云提供的一种云计算服务,旨在帮助用户设计和构建高效、可靠、安全的云存储系统。该架构设计涵盖了对象存储、文件存储、表格存储、混合云存储、函数计算、日志服务等多方面的解决方案。 对象...

    云计算平台存储架构设计

    1. **云计算存储概念**:云计算存储是指在云端提供的一种按需分配、弹性扩展的数据存储服务。它通过互联网将数据存储在远程服务器上,用户可以随时随地访问这些数据,而无需关心硬件设备的管理和维护。 2. **存储...

    腾讯云分布式对象存储架构设计与实践.pdf

    腾讯云分布式对象存储架构设计与实践 本文档总体概括了腾讯云分布式对象存储的架构设计与实践。以下是从标题、描述、标签和部分内容中提炼出的知识点: 一、市场背景与产品背景 * 如何为企业客户提供存储海量全球...

    淘宝网图片存储系统架构_免费下载.doc

    淘宝网图片存储系统架构_免费下载

    分布式存储架构实践

    分布式存储架构是现代信息技术中的一个重要组成部分,对于构建高可用、高性能的数据处理系统至关重要。通过对关键技术的掌握和应用,可以有效地解决大规模数据处理中遇到的问题,提高系统的整体性能。未来,随着技术...

    数据湖存储架构选型_compressed.pdf

    数据湖存储架构选型是当前IT领域中一个重要的议题,特别是在大数据分析和人工智能应用日益增长的背景下。数据湖是一种能够统一、集中存储所有原始数据的架构,包括结构化、半结构化以及非结构化数据,如图片、视频和...

    青云对象存储系统架构

    随着信息技术的快速发展,非结构化数据的数量呈现爆发式增长趋势,这给传统的存储架构带来了极大的挑战。为了解决这些问题,青云科技(QingCloud)推出了一套完整的、面向未来的存储解决方案,包括块存储(Block ...

    淘宝网图片存储系统架构[收集].pdf

    淘宝网的图片存储系统架构是电子商务领域中一个重要的技术挑战,因为对于像淘宝这样的大型电商平台,图片流量占据了总体流量的绝大部分。在这个系统中,图片不仅仅是简单的数据,它们是吸引买家的关键,因此对图片的...

    百度云存储架构经验分享.pdf

    【百度云存储架构经验分享】 在互联网行业中,百度云存储架构是其技术栈的重要组成部分,为各类业务提供了高效、安全、稳定的数据存储解决方案。本文将深入探讨百度云在存储架构上的发展历程、关键技术以及产品体系...

    京东图片系统架构演进.pptx

    京东图片系统架构演进是京东集团图片系统的架构演进过程,该系统旨在解决图片存储、处理和分发等问题,提高图片加载速度和用户体验。本文将对京东图片系统架构演进的设计理念、技术架构和性能优化进行详细介绍。 ...

    c#与SQLServer_Demo winform 三层 架构 登陆 信息增删改 图片存储

    本项目"基于C#与SQL Server_Demo winform 三层架构 登陆 信息增删改 图片存储"是一个典型的企业级应用程序示例,它涵盖了数据库交互、用户界面以及业务逻辑的分离,有助于提高代码的可维护性和复用性。 首先,我们...

    基于分布式文件系统的图片存储服务的研究

    本文主要探讨基于分布式文件系统(如Hadoop分布式文件系统HDPS)实现的图片存储服务,通过深入分析分布式文件系统的架构特性以及其实现细节,提出了一种高效的图片存储服务方案。 #### 分布式文件系统的三大特性 ...

    ARX存储架构介绍.pptx

    ARX存储架构是一种先进的文件存储解决方案,旨在解决企业在面对日益增长的文件存储需求时所遇到的问题,例如存储复杂性、成本管理、性能优化以及法规遵从。由F5 Networks提供的ARX系统通过虚拟化技术,旨在提升存储...

    2009系统架构师大会PPT:杨明非:存储架构

    ### 存储架构设计优化与虚拟化探讨 #### 一、引言 随着信息技术的快速发展,数据量呈现出爆炸式...随着技术的进步,存储架构将继续向着更高性能、更低成本的方向发展,而虚拟化技术无疑将是这一趋势中的关键要素之一。

Global site tag (gtag.js) - Google Analytics