什么是 SAE

SAE 是 Sina App Engine 的缩写类似于 GAE但考虑到 GAE 的被墙以及国内访问速度开始玩起 SAE从目前看来SAE 的速度还是很赞的渣浪的 CDN 还是有优势

SAE使用Python

SAE 支持 python 应用其预装模块列表可见http://sae.sina.com.cn/?m=devcenter&catId=290

使用web.py

SAE 有项独创的 NoSQL 服务 KVDB跟 MongoDB 类似Key-Value 数据库其分布式的特性比较适合国内的网络坏境于是随手做了个用 KVDB 分享小文件的应用命名为 文件罐pythonweb框架百家争鸣但本着不折腾会死轮子一定要自己造的心态我还是选择了最轻量级的web.py

使用SAE公共JS

为什么用公共JS

  1. 享受 CDN 加速加载 js 速度快
  2. 如果其他网站也用公共 JS 库那么用户访问过其他网站后访问我们的网站会有 JS 缓存因为URL一样浏览器会认为是同一个文件减少TCP握手次数用户友好

考虑到 Google 公共库的不稳定性采用 SAE JS 来作为 JQuery 的载点

最终效果

地址文件罐http://filecup.sinaapp.com
原理很简单把上传的文件作为Value的值将当前时间进行md5运算生成 TimeStamp 作为 Key 值存入 kvdb下载文件时则按Key值取出文件内容发送给客户端为了偷懒直接用了 Twitter 的 Bootstrap 作为前端框架