rrestjs 高性能node.js开发框架开源项目

我要开发同款
匿名用户2012年08月13日
40阅读
开发技术JavaScript
所属分类Node.js扩展、Web应用开发、Node.js 扩展
授权协议GPL

作品详情

rrest.js是一款基于expressjs代码开发的高性能node.js开发框架,由于重新编写了框架组织架构,比expressjs整体性能提升大约10%,实用功能也更加丰富,API和代码风格相比expressjs更简单易懂。

rrestjs有以下几个亮点: 1、Restful模式:去掉了expressjs的app.get()路由机制,重新拆分客户端请求的uri,直接加载指定模块和执行模块内的方法,如果出错输出500或404。比如用户访问/user/face,访问头像页面,则rrestjs会根据拆分的uri去指定目录require('user')模块,然后执行face方法,省去了正则路由判断,提升性能。2、原生node.js的API风格:没有expressjs自己封装的app.use等等,输出一个helloworld只需如下代码,降低了学习新代码风格的成本:varhttp=require('http'),rrest=require('rrestjs'),server=http.createServer(rrest(function(req,res){res.end('helloworld');})).listen(3000);3、开发模式自动保存重启:在开发模式下,支持像PHP那样的写代码,保存自动重启,放弃ctrl+c然后上+enter。4、多进程共享session:多进程可以共享保存在内存中的session数据,而且以后部署上生产环境,只需加载不同配置文件,无需改动代码即可支持mongodb的session存储5、提高静态文件输出性能:expressjs在静态文件输出上由于加上etag或last-modify缓存,需要2次I/O操作,rrestjs在此基础上做了2级缓存,减少一次I/O操作,性能提升10%。6、多进程多任务管理:可以让多进程监听多端口,做不同业务,由一个守护进程守护,万一发现子进程意外挂掉,可以马上唤醒它,并且还是继续监听之前的端口和做之前的业务。7、封装了mongodb连接池:封装了mongodb的连接池,可以手动的设定连接池的大小,大大提高的效率和稳定性。8、IP和资源白名单过滤:增加了白名单功能,方便项目上公网以后的调试和测试。9、增加jade的html缓存:增加html缓存功能,加速大并发,高I/O的输出jade模版,同时设置了更新缓存钥匙机制,防止缓存重建时的雪崩情况。10、增加deflate和gzip:根据content-type的属性值,选择性的使用delate或gzip压缩数据响应给客户端,因为图片的gzip意义不大。11、自动加载模块:根据自动加载例外的配置,去自动加载modules文件夹下的所有模块,不必一个个require了

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论