У меня сложная проблема.Я использую 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 пользователей онлайн-запрос на этот сервер.Пожалуйста, дайте мне руку, спасибо всем.