我有一个NestJS应用程序,它在一个特定的端口提供服务,但我需要使用其他端口公开一些路由(例如Prometheus指标/metrics)。
是否可以在NestJS应用程序中实现这个功能?
是否可以在NestJS应用程序中实现这个功能?
是的,你可以这样做,只需单独实例化应用程序模块即可。(我假设你的应用程序是按模块组织的)。
这里是一个简短的示例:
async function bootstrap() {
// module with the selected endpoints
const firstApp = await NestFactory.create(FirstAppModule);
await firstApp.listen(3001);
// module with different endpoints
const secondApp = await NestFactory.create(SecondAppModule);
await secondApp.listen(3002);
}
顺便说一句,我不建议在同一个Node进程上运行多个服务器,因为这会对性能产生不良影响,并且使监视和管理服务器的生命周期变得更加困难。我建议使用像pm2这样的进程管理器来实现这个目的。