Microservices Nestjs kafka实现

Microservices Nestjs kafka实现,microservices,nestjs,kafkajs,Microservices,Nestjs,Kafkajs,我已经阅读了nestjs microservice和kafka文档,但我无法理解其中的一些内容。如果你能帮助我,我将非常感激。 因此,正如文档所说,我必须在main.ts文件中创建一个microService,如下所示: const-app=wait-NestFactory.createMicroservice(AppModule{ 交通:交通,卡夫卡, 选项:{ 客户:{ 代理:['localhost:9092'], } } }); 等待app.listen(()=>console.log('

我已经阅读了nestjs microservice和kafka文档,但我无法理解其中的一些内容。如果你能帮助我,我将非常感激。 因此,正如文档所说,我必须在main.ts文件中创建一个microService,如下所示:

const-app=wait-NestFactory.createMicroservice(AppModule{
交通:交通,卡夫卡,
选项:{
客户:{
代理:['localhost:9092'],
}
}
});
等待app.listen(()=>console.log('app start'));
然后有一个KafkCamodule文件,如下所示:

@模块({
进口:[
ClientsModule.register([
{
名称:“英雄服务”,
交通:交通,卡夫卡,
选项:{
客户:{
clientId:“英雄”,
代理:['localhost:9092'],
},
消费者:{
groupId:“英雄消费者”
}
}
},
]),
]
})
导出类KafkaModule在moduleinit上实现{
构造函数(@Inject('HERO_SERVICE')私有只读客户端服务:KafkaClient)
异步onModuleInit(){
等待这个.clientService.connect();
}
}
我首先搞不清楚createMicroservice的第一个参数的用途是什么?(我通过了AppModule和KafkaModule,两者都正常工作。知道KafkaModule是在AppModule导入的)

另一件事是,据我所知,microservice部分和main.ts文件中的配置用于订阅MessagePattern或EventPattern装饰器中使用的主题,而KafkModule中描述的KafkClient用于向不同的主题发送消息

这里的问题是,如果我前面所说的是真的,那么为什么clientModule使用默认的groupId(如果没有指定作为消费者)。奇怪的是,我找不到一个解决方案来使用clientModule从任何主题获取任何消息。 我现在正在做的是在每个文件中使用不同的组ID,这样它们就不会有任何冲突