https://www.npmjs.com/package/zhangxd-breaker
Breaker是模拟java里边断路器概念写的node开源工具,
加上之后加大了node服务器处理速度,并有效防止服务被压垮,现在只是测试版本,
需要你自己根据自己场景来配置
/test/app.js 新加了例子
有问题或建议可以给我发邮件zhangxd@samsundot.com (互相学习)
var breaker = require('../index');
//配置文件
var breaker_conf = {
sum_count: 100,//并发
ts: 1000*5,//超时时间
err_msg: "服务繁忙,请您稍后再试~~"//超时时错误提示
};
//初始化breaker
breaker.init(breaker_conf);
//我是在post请求时启动断路器
app.post('/*', breaker.check);
// 我在开发时自己封装了一个返回的方法直接放到res里边(res.aes),
// 这样每次调用res.aes时我就认为是正常返回的request,然后调用breaker.minus(req)释放
//这里判断 如果程序返回的信息不是breaker_conf的错误信息的时候才去释放资源
if(re.msg != breaker_conf.err_msg){
breaker.minus(req);
}