使用Rabbitmq将超时请求排队

时间:2019-05-01 18:41:42

标签: php http rabbitmq

正在运行的系统依赖于从外部API接收到的响应,现在经常出现这种情况,我们发送的请求以超时完成,最终导致正在进行的事务丢失。

我们需要一遍又一遍地重新发送请求,直到API响应为止,这样我们才能继续进行交易。

我被建议使用RabbitMQ,以便它在API响应之前将请求排队,因此,我的应用程序应该是推送到队列的生产者,我仍然无法理解的是我将如何接收请求。一旦我的消息(请求成功执行)从队列中回调? RabbitMQ是否可以保证我的请求成功到达目的地?它会一直尝试发送请求直到api响应(该api可用于交换)吗?我的应用程序将如何恢复与请求相关的执行?我最初的想法是隔离依赖于外部API即时响应的代码。

这里甚至RabbitMQ还是最好的选择吗?

我对RabbitMQ的使用经验为零,这就是为什么我仍然对这种用例是否合适持怀疑态度,因此,如果其中一些问题完全愚蠢,请提前对不起。

PS:我们一直在跟踪超时数据。我们要连接的API是外部系统的一部分,我们无法对其进行控制。

0 个答案:

没有答案