消息模式 - RabbitMQ/NestJS

Mid*_*ido 3 rabbitmq node-amqplib nestjs

我正在尝试集成到使用 NestJS 完成的项目,这是一个简单的 api,您可以在其中发布带有名称(或模式)的消息并将其发送到已实现与该名称匹配的处理程序的系统。

我正在构建的系统非常小,使用 NestJS 没有多大意义。

我遇到的问题如下:

我正在创建一个简单的 API,用于触发将消息发布到队列上。消费者位于使用 NestJS 的系统上。

我不知道如何为该消息提供该系统可识别的模式。例如:

假设我想发布一条名为“CreateRecord”的消息,其中的有效负载要从具有同名处理程序和实现的其他系统进行处理。

使用 amqplib 如何为消息指定名称或模式?

小智 5

您可以在发布消息时在内容对象中提供模式。

publish(
  'my_exchange',
  'routing_key',
  { pattern: 'CreateRecord', data: 'Record' },
);
Run Code Online (Sandbox Code Playgroud)