write down,forget
标签 Tag : weedfs

lua-resty-weedfs 1.0

<Category: lua> Comments Off on lua-resty-weedfs 1.0

号外:weedfs小文件后处理服务程序发布鸟。。

github地址:https://github.com/medcl/lua-resty-weedfs

最近研究了下resty,发现lua和resty使用起来真是简单粗暴啊,简单的写了一个用来后处理weedfs小文件的服务,目前提供了图片的缩放和语音的转换。
缩略图和语音都是在线实时转换,速度很快。

小文件存储使用weefs,简单方便,性能不错,适合存放图片文件和语音文件,
图片请求一般还需要缩略图处理,使用graphicsmagick.org,语音一般还需要格式转换,那就用ffmpeg,这些都集成到了一起就是 lua-resty-weedfs了。
服务端使用openresty,简单介绍就是基于nginx的集成了lua脚本运行环境的的功能完整的版本。

相关程序附链接:
weedfs(http://code.google.com/p/weed-fs/)是一个小文件服务器,最近支持了副本功能,很不错,然后resty(http://github.com/lzyy/resty)是一个基于nginx,封装了lua语言引擎及一系列常用包的nginx发行版。
graphicsmagick(http://graphicsmagick.org)是一个图片缩放程序,支持各种图片格式,ffmpeg(http://ffmpeg.org)是一个语音视频转换程序,也是支持多种格式。

使用方式:
1.上传图片文件
2.返回图片地址
3.访问图片
原始图片:http://192.168.1.1/img/orig/3,2711f0c5341e.png
80×80格式:http://192.168.1.1/img/80×80/3,2711f0c5341e.png
100×100格式:http://192.168.1.1/img/100×100/3,2711f0c5341e.png
500×400格式:http://192.168.1.1/img/500×400/3,2711f0c5341e.png
等等,格式自定义,或者固定限制为几种。

语音文件类似,访问地址有点变化
原始文件:http://192.168.1.1/audio/orig/3,2711f0c5341e
mp3格式文件:http://192.168.1.1/audio/mp3/3,2711f0c5341e

视频在线转换,理论上也是可以做的,只是目前没有实现。
转换需要临时目录来存放文件,可以是系统的shm内存盘来提高速度,定期进行清理即可

附内存盘操作方法,内存盘可用来存放临时文件,提升速度,处理完原始文件之后,可以直接删掉,处理之后的小文件,可以缓存起来,另外建议在前端再加一层通用的静态文件缓存层,如varnish。

本文来自: lua-resty-weedfs 1.0