rrestjs高性能node.js开发框架

联合创作 · 2023-09-23 18:42

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只需如下代码,降低了学习新代码风格的成本:
var http = require('http'),
rrest = require('rrestjs'),
server = http.createServer(rrest(function (req, res) {
res.end('hello world');
})).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了

浏览 6
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报