我有一个像http代理一样的服务器。一些GET需要很长时间(10秒左右)才能加载。在我的情况下,有时多个用户大约同时请求相同的URL。我想在nodejs中重写那个小的web-proxy部分。目前,简单的逻辑大致如下:
我想以这样的方式更新它,以便如果有相同资源的另一个并发请求进来,那么我将重用已经在进行中的第一个传出GET。基本上,第一个传出GET的渐进式更新现在将写入两个不同的传入GET。 我可以在nodejs中使用什么来完成该任务,是否有任何功能可以完成任务?我更喜欢非常简单(我宁愿自己编写代码,我只是不知道我应该为这个任务研究哪些库。)
以下是为一个连接执行此操作的示例nodejs代码:
var express = require('express');
var http = require('http');
var app = express();
app.use(function(req, res, next){
var opt = {host: "static1.example.com", path: req.path};
var request = http.request(opt, function(response){
res.setHeader('Content-Length', response.headers['content-length']);
res.writeHead(response.statusCode);
response.on('data', function(chunk){
res.write(chunk);
});
response.on('end', function(){
res.end();
next();
});
}).end();
});
app.listen(8080);