小编szc*_*csl的帖子

NestJS 应用程序如何侦听与连接的微服务相同的端口?

我试图了解 Nest 微服务的工作原理。

让我们从文档中的这个示例开始(https://docs.nestjs.com/faq/hybrid-application

const app = await NestFactory.create(AppModule);
// microservice #1
const microserviceTcp = app.connectMicroservice<MicroserviceOptions>({
  transport: Transport.TCP,
  options: {
    port: 3001,
  },
});
// microservice #2
const microserviceRedis = app.connectMicroservice<MicroserviceOptions>({
  transport: Transport.REDIS,
  options: {
    url: 'redis://localhost:6379',
  },
});

await app.startAllMicroservicesAsync();
await app.listen(3001);
Run Code Online (Sandbox Code Playgroud)

在查看源代码(https://github.com/nestjs/nest)后,我明白connectMicroservice创建一个net.Serverwhen using TCP,并且服务器在startAllMicroservicesAsync调用时开始监听。但随后app.listen应该初始化基础 Nest Web 服务器的监听。

为什么这不会导致错误?

我检查了如果端口上连接了两个微服务会发生什么。它肯定会引发错误。我在这里缺少什么?

// CODE CAUSES ERROR AS EXPECTED

const app = await NestFactory.create(AppModule);
// microservice #1
const microserviceTcp …
Run Code Online (Sandbox Code Playgroud)

node.js nestjs

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

nestjs ×1

node.js ×1