apache-kafka - 对中间有队列的服务器的请求流是什么?
问题描述
我正在努力理解 Web 请求流向中间有队列或消息代理的服务器的流程,但我找不到有关何时何地给出回复的信息。
想象一下这个用例:
客户甲:
- 发送发票订单请求
- 发票已入队
- 请求被处理并出列。
客户端什么时候会收到响应?在队列收到消息之后?在消息被处理和出队之后?其他?
我之所以问,是因为如果仅在处理消息之后才回复,则客户端可能会等待很长时间。想象一下消息需要 3 分钟来处理,客户端是否需要不断请求服务器查看它是否被处理?还是使用长轮询之类的方法保持连接?
我对使用 RabbitMq 和 kafka 的场景感兴趣。
解决方案
拥有消息传递系统的优点是确保前端 Web 服务器和后端处理是分离的。最佳实践是 Web 服务器应该发布消息并等待消息传递系统确认接收到消息。
推荐阅读
- javascript - 如何在我的 table.js 页面中包含分页?
- javascript - XXX 不是 JavaScript 中的函数
- python - 如何在 python 中实现 API.AI 机器人?
- python - Python 2.7 Pyautogui.locateOnScreen 不工作
- jenkins - Jenkins - 如何将测试日志复制回工件目录以进行构建
- c# - 访问当前从 gmail 邮箱发送/接收的邮件
- c++ - C++ 和标准容器:成员的内存地址
- r - 无法为签名 '"NULL"' 的函数 'lhs<-' 找到继承的方法
- c++ - Boost MSM 开启当前状态
- postgresql - 将 DBMS_OUTPUT.PUT_LINE 结果发送到 Postgres 中的外部文件