我们有一个从银行系统接收发票付款信息的系统。它的工作原理是:
因此,问题是我们的系统节省了付款,但有时无法及时响应付款确认请求(30秒内),在这种情况下,银行取消付款,我们的系统不知道付款被取消。
我已经开发了一个解决方案,如果付款成功(在收到付款30秒后),通过发送请求检查付款方法银行提供的付款方法,可以检查每笔付款。任务(将支付id发送到银行系统的check_payment方法--它返回支付状态)使用Spring框架的线程池在单独的线程中执行。但我担心这不是最好的解决方案,因为在发生网络故障时,可能会出现大量线程池。
你会推荐什么解决方案?我们可以在这个问题上使用RabbitMQ吗?
发布于 2019-06-16 01:17:32
实际上,您正在实现有状态编排。我建议研究能够以最小的努力支持您的用例的Cadence工作流。
与使用队列进行任务处理相比,Cadence提供了许多其他优势。
请参阅介绍,它超越了Cadence编程模型。
https://stackoverflow.com/questions/54589517
复制相似问题