首页 > 解决方案 > 对中间有队列的服务器的请求流是什么?

问题描述

我正在努力理解 Web 请求流向中间有队列或消息代理的服务器的流程,但我找不到有关何时何地给出回复的信息。

想象一下这个用例:

客户甲:

  1. 发送发票订单请求
  2. 发票已入队
  3. 请求被处理并出列。

客户端什么时候会收到响应?在队列收到消息之后?在消息被处理和出队之后?其他?

我之所以问,是因为如果仅在处理消息之后才回复,则客户端可能会等待很长时间。想象一下消息需要 3 分钟来处理,客户端是否需要不断请求服务器查看它是否被处理?还是使用长轮询之类的方法保持连接?

我对使用 RabbitMq 和 kafka 的场景感兴趣。

标签: apache-kafkarabbitmqmessage-queue

解决方案


拥有消息传递系统的优点是确保前端 Web 服务器和后端处理是分离的。最佳实践是 Web 服务器应该发布消息并等待消息传递系统确认接收到消息。


推荐阅读