技术堆栈 - Nestjs-2 微服务 kubernetes-AWS EKS 入口 - nginx
混合动力
const app = await NestFactory.create(AppModule);
const microservice = app.connectMicroservice<MicroserviceOptions>(
{
transport: Transport.TCP,
options: {
host: process.env.TCP_HOST,
port: parseInt(process.env.TCP_EVALUATION_PORT),
},
},
{ inheritAppConfig: true },
);
await app.startAllMicroservices();
await app.listen(parseInt(config.get(ConfigEnum.PORT)), '0.0.0.0');
环境
TCP_HOST: '0.0.0.0'
TCP_CORE_PORT: 8080
TCP_EVALUATION_PORT: 8080
错误
"connect ECONNREFUSED 0.0.0.0:8080"
我是否需要在 docker 中公开此端口或将其添加到安全组中的某个位置? 或者可能需要通过不同的主机?
注意:应用程序已正确部署,没有任何错误,HTTP Rest API 似乎工作正常,但 TCP @messagePattern 则不然!
谢谢
创建一个服务来匹配您要连接的实例并使用服务名称。
基本上在混合应用程序中,main.ts 配置如下 -
服务1
const app = await NestFactory.create(AppModule);
const microservice = app.connectMicroservice<MicroserviceOptions>(
{
transport: Transport.TCP,
options: {
host: '0.0.0.0',
port: 6200,
},
},
{ inheritAppConfig: true },
);
await app.startAllMicroservices();
await app.listen(6300, '0.0.0.0');
在客户端
ClientsModule.register([
{
name: 'service1',
transport: Transport.TCP,
options: {
host: 'service1',
port: 6200,
},
},
]),
现在面临同样的问题。你找到解决办法了吗?