消息模式 - RabbitMQ/NestJS

Messages Patterns - RabbitMQ/NestJS

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

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

我遇到的问题如下:

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

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

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

如何使用 amqplib 为消息命名或模式?

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

publish(
  'my_exchange',
  'routing_key',
  { pattern: 'CreateRecord', data: 'Record' },
);