gpt4 book ai didi

node.js - Node http-proxy 最少连接数代理

转载 作者:太空宇宙 更新时间:2023-11-03 23:42:31 25 4
gpt4 key购买 nike

我想使用 Node http-proxy 创建“最少连接”代理。换句话说,它选择当前连接数最少的后端。代理有一个“结束”事件,但它不会向您传递任何信息,因此我不确定如何使用当前的并发请求数来增加/减少每个后端的计数器。

最佳答案

我认为您可以等待响应发送给客户端。

例如:

var backends = [
{ host : 'backend1', port: 80, active : 0 },
{ host : 'backend2', port: 80, active : 0 },
{ host : 'backend3', port: 80, active : 0 },
{ host : 'backend4', port: 80, active : 0 },
];

httpProxy.createServer(function (req, res, proxy) {
var buffer = httpProxy.buffer(req);

// Pick the backend with the least active requests (naive implementation).
var backend = backends.sort(function(a, b) {
return a.active - b.active;
})[0];

// Add a new active request.
backend.active++;

// Proxy the request.
proxy.proxyRequest(req, res, {
host : backend.host,
port : backend.port,
buffer : buffer
});

// When the response is finished, decrease the count.
res.on('finish', function() {
backend.active--;
});
}).listen(8000);

关于node.js - Node http-proxy 最少连接数代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20591743/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com