消费者返回生产者的消息完成结果

Message-completion results from a consumer back to a producer

我们正在构建一个具有微服务架构的应用程序。

微服务架构将遵循面向消息的模式,使用 AWS SQS。

我们希望return从消费者服务返回生产者服务的完成结果。

这是我们正在考虑的算法:

  1. 生产者创建一条具有唯一 ID 的消息
  2. 生产者订阅了一个以消息 id 命名的 Redis 频道
  3. 生产者将消息放入 SQS 队列
  4. 消费者从 SQS 队列中移除消息并执行操作
  5. 消费者将操作结果发布到以消息id命名的Redis通道
  6. 生产者收到完成结果并恢复执行

这是将消息完成结果从消费者传回生产者的合理方式吗?

经过继续研究,消息队列显然不是解决方案的一部分。 this article 中的第 5 点,“......或者甚至不关心结果......”表明(暗示)我们只是使用了错误的方法。

我们更改了设计,因此请求顺序不重要,并且将使用调用 api.

直接调用 AWS Lambda 函数