我目前正在devise一个基于networking的应用程序的体系结构,也应该提供某种forms的图像存储。 用户将能够上传照片作为服务的关键function之一。 同时查看这些图像将成为主要用途之一(通过networking)。 但是,我不知道如何在我的应用程序中实现这样一个可伸缩的图像存储组件。 我已经想过不同的解决scheme,但由于缺less经验,我期待听到您的build议。 除了图像,还必须保存元数据。 这是我最初的想法: 使用(分布式)文件系统,如HDFS,并准备专门的Web服务器作为“文件系统客户端”,以保存上传的图像和服务请求。 图像元数据保存在附加数据库中,包括每个图像的文件path信息。 在HDFS之上使用HBase等面向BigTable的系统,并将图像和元数据保存在一起。 再次,networking服务器桥接图片上传和请求。 使用像CouchDB这样的完全无模式数据库来存储图像和元数据。 另外,通过使用基于HTTP的RESTful API,使用数据库本身来进行上传和发布。 (另外的问题:CouchDB确实通过Base64保存斑点,但是它能以image / jpeg等forms返回数据)?