作者eromoot (....)
看板Cloud
标题[技术] 摄影作品交流网站
时间Thu May 17 06:56:43 2012
Hi 各位:
来聊聊一点技术吧,5/1 我上线了一个新服务[1],主要是让使用者上传图片,分享摄影
作品。整个架构是这样子的:
Python + Flask + uWSGI + nginx + MongoDB + celery + Redis
Linode 512 jp + Amazon S3
大约花一个礼拜的时间就上线了,然後再慢慢补足功能。
[1]
http://pi.isuphoto.org/
网站部份
我使用的是 Flask 这个框架,然後搭配 uWSGI 与 nginx 沟通,目前开 4 线程处理网
站回应。
资料库
用到 MongoDB,启用 Master/Slave 机制。为什麽用 MongoDB 其实主要是要实验 NoSQL
所以拿来这次的服务实作,另外也不是很想用 MySQL XD
Task
使用到 celery + Redis,主要是用来排定类似发送 mail, 推发到社群网站的子程式使
用。这两个服务搭配起来还不错用。(补充:mail 是用到 Amazon SES)
图库
因为图片这东西本来就有点麻烦,除了储存麻烦,资料读取也麻烦,所以就乾脆都丢到
Amazon S3 上面去,S3 在图片 header 也做了不错的 cache 机制,速度也快(我是选
择日本东京区域),使用者反应还满流畅。至於图片还有做 EXIF 的资讯读取,这部份
是在上传时撷取,然後存到 MongoDB。
主机
Linode 512 日本东京,因为服务对象大部份都是亚太地区,所以就租这区域的主机。
未来的走向
本来这是给社团社员使用,不过最近想一想,既然是 '交流' 当然是愈多然愈好,所以
目前逐步的开放给其他人申请使用,而上传容量目前都无限制,大家玩的高兴就好!;)
以上简单介绍,感谢各位~
其他详细的内容可以参考:
http://blog.toomore.net/2012/05/blog-post.html
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.171.92.22
1F:推 carlcarl:不知道这样加起来大概会需要多少预算@@a 05/17 17:15
2F:推 petertc:什麽是s3的header cache机制呢? 05/17 19:00
3F:推 AreTheyYou:推~ 05/17 20:21
4F:→ eromoot:@petertc 像是 etag last-modifird 之类的… 05/19 19:35
5F:→ eromoot:@carlcarl Linode $19.95/m 截至 S3 大约 $0.05 43,212req 05/19 19:38