【发布时间】:2022-01-12 19:51:41
【问题描述】:
我有两个服务,我用 nodejs 和 typescript 创建了它。
我想用 reabitMQ 在这两个服务之间发送和接收消息。
我用这段代码来做:
出版商:
await MessageBroker.Publish('coin', 'transaction', {
type: MessageBrokerType.Transfer,
to: 'to',
amount: amount
});
消费:
MessageBroker.channel.consume(exchange + '.' + queue, async (msg: any) => {
const { to, amount , type } = JSON.parse(msg.content);
const transfer = await UnitOfWork.coinRepository.transfer(to, amount);
console.log(to, amount);
})
它的工作和从发布者发送消息消费,但我有一个问题。
我需要设置消费结果并将其发送给发布者。
例如,也许我在UnitOfWork.coinRepository.transfer(to, amount); 这一行有问题,我应该向发布者发送错误消息,如果操作成功,则向订阅者发送有关成功结果的消息。
现在我该如何解决这个问题并为两个服务之间的消息设置结果?
【问题讨论】:
标签: javascript node.js microservices