基于MongoDB GridFS图片存储

三年前电子商务时跟着涛哥-Liút用了一年的MongoDB图片存储,本文重温图片存储后编写。

组件:MongoDB GridFS,Sharding,Replica Set, Nginx, Python + pymongo, uWSGI, ImageMagick

介绍下这几件组件:
MongoDB GridFS: 文件存储,同步复制,分布式备份,ARP-ping双机热备切换(类似mysql master master replic),三台主机组成的Replica Set
Sharding: 数据分区,集群,块迁移,公布式存储
Replica Set:副本集,自动故障转移和恢复
uWSGI: WSGI服务器,超快的性能,低内存,多app统一管理,负载平衡,支持多种语言(方案主要是Python)和WebServer(官方首推Cherokee和Nginx)。有点儿类似PHP-FPM。
ImageMagick: 用来生成图片缩略图,有两种调用方式:Api和命令行shell。(也可参考nginx+GraphicsMagick实时缩图
Nginx:本方案的Nginx主要是指向静态文件和通过uWSGI生成图片
Python:选它上传、管理图片的原因;简单;运行快,写得快;不错的常驻型程序(上传的页面使用了html5的Ajax上传和进度显示、即时预览)

Leave a Comment

电子邮件地址不会被公开。 必填项已用*标注