通过将key与node.js/nestjs绑定来处理Rabbitmq消息

通过将key与node.js/nestjs绑定来处理Rabbitmq消息,node.js,rabbitmq,nestjs,Node.js,Rabbitmq,Nestjs,我在Nestjs中有一个接收消息的服务,当该服务收到消息时,它运行一个数据库操作(insert to Mongo)。 如果DB的结果良好,服务应通过队列向其他服务发送消息 我的问题是关于关注的分离 接收消息的我的函数也应该调用db service/repo,然后再调用publisher服务 这是正确的方法吗?这方面的最佳做法是什么? 我需要加一个包裹吗 另一个问题是通过绑定密钥来处理消息, 这是为每个“主题”创建服务的好方法吗?像学生服务等等 如果我有一个审计服务,它可以从任何地方获取事件到他

我在Nestjs中有一个接收消息的服务,当该服务收到消息时,它运行一个数据库操作(insert to Mongo)。 如果DB的结果良好,服务应通过队列向其他服务发送消息

我的问题是关于关注的分离 接收消息的我的函数也应该调用db service/repo,然后再调用publisher服务

  • 这是正确的方法吗?这方面的最佳做法是什么? 我需要加一个包裹吗

  • 另一个问题是通过绑定密钥来处理消息, 这是为每个“主题”创建服务的好方法吗?像学生服务等等 如果我有一个审计服务,它可以从任何地方获取事件到他的audit.queue,但需要 将消息转发到相关服务

  • 我的nestjs代码

    StudentMessageHandler.ts

        @RabbitSubscribe({
            exchange: 'ex',
            routingKey: 'student_update.#',
            queue: 'studens_update.q',
        })
        public async createStudent(msg: any): Promise<void> {
            try{
                    await this.studentService.create();
                    await this.studentPublisher.send('another message to diffrent microservice')
    
            }
            catch(){
             
           }   
            return;
        }
    
       .....
       sendMessag(){
         rabbit.send()
       }