我遇到了一个棘手的问题。 我正在使用http-proxy-middleware NPM创建这样的网关服务:
app.use('/service-a', Proxy({
target: 'http://127.0.0.1:3001',
changeOrigin: true,
pathRewrite: {
'^/service-a' : ''
}
}));
app.use('/service-b', Proxy({
target: 'http://127.0.0.1:3002',
changeOrigin: true,
pathRewrite: {
'^/service-b' : ''
}
}));
app.use('/service-c', Proxy({
target: 'http://127.0.0.1:3003',
changeOrigin: true,
pathRewrite: {
'^/service-c' : ''
}
}));
app.use((req, res, next) => {
return next(new Error('Not found API'));
});
app.use((e, req, res) => {
return res.json(e);
});
Http.createServer(app).listen(port, function () {
console.log('App listening port ' + port);
});
使用pm2将所有服务和网关部署到服务器后(将pm2集群用于网关和其他服务)。
有时我从网关服务获得500 status failed request
,我知道网关无法调用服务目标的原因。
但我确定目标服务始终在运行。还有一件事,它不会发生太多。
是类似网关开销的东西吗?
我有大约300位用户在线请求该服务器。
谢谢,请帮忙。