高并发web服务技术选型
调研了一些技术选型。主要问题集中在单个GB级数据使用何种DFS的问题上,目前还没有得到可靠的结论。
负载均衡
采用:nginx或 lvs: https://github.com/alibaba/LVS
实施自己的调度策略:学习配置lvs或改造lvs或自己重写。
文件存储:
调研下采用hdfs还是fastdfs还是其他的:Fastdfs,ZFS,Lustre,HadoopHDFS,GlusterFS。Lustre、MooseFS、CEPH。GridFS(mongodb自带的)
国内阿狸的tfs也是非常适合小文件海量存储。
GridFS:Managing files with Node.js and MongoDB GridFS http://www.tuicool.com/articles/myUBJze 并在express中融入。
http://blog.csdn.net/lee576/article/details/44195219
http://www.chinaaet.com/article/218182基于glusterfs的openstack平台。。
http://blog.sina.com.cn/s/blog_6b89db7a0101gbcy.html
理论和实践上分析,GlusterFS目前主要适用大文件存储场景,对于小文件尤其是海量小文件,存储效率和访问性能都表现不佳。海量小文件LOSF问题是工业界和学术界公认的难题,GlusterFS作为通用的分布式文件系统,并没有对小文件作额外的优化措施,性能不好也是可以理解的
http://www.moosefs.org/
fastdfs介绍: http://www.oschina.net/p/fastdfs
fastdfs:https://github.com/happyfish100/fastdfs
fastdfs原理介绍,含hash算法等:
http://blog.csdn.net/wallwind/article/details/39891105
阿里的tfs适合海量小文件应用。
分布式存储调研:
http://www.cnblogs.com/yuki-lau/archive/2013/03/13/2957611.html
七牛云存储技术:http://www.infoq.com/cn/articles/storage-system-stuff
现有的分布式文件系统,哪种适合单文件GB级别的海量存储。 各种分布式文件系统的优缺点,适应场景,性能比较。
http的文件断点续传实现,大文件上传下载, 进度跟踪等技术, 消息回调提醒技术。
结构数据存储:
MongoDb
文件上传
mongodb :
通过nodejs将文件上传到mongodb
nodejs和mongodb的文件上传http://marshal.easymorse.com/index.html%3Fp=4944.html
html5实现大文件上传: http://www.html5rocks.com/zh/tutorials/file/dndfiles/
Silverlight解决方案: http://www.silverupload.cn/
Plupload解决方案: http://segmentfault.com/a/1190000000725971
http://www.plupload.com/
推荐百度的webupload http://fex.baidu.com/webuploader/
kv数据库:用来做系统的缓存层
谷歌的levelDb,豆瓣的beanDb,Redis