【发布时间】:2019-11-06 13:34:01
【问题描述】:
是否可以从响应者流中向对方的外部服务发出 HTTP 请求?
我的用例是一方使用交换节点调用“请求令牌”流。该交换节点发出 HTTP 请求(在响应者流上)以将现金从该方帐户转移到外部支付系统中的交换帐户。资金实际达到计数并因此发行代币的事件将发生在另一个流程中。
如果不行,有什么替代设计可以完成任务?
【问题讨论】:
标签: corda
是否可以从响应者流中向对方的外部服务发出 HTTP 请求?
我的用例是一方使用交换节点调用“请求令牌”流。该交换节点发出 HTTP 请求(在响应者流上)以将现金从该方帐户转移到外部支付系统中的交换帐户。资金实际达到计数并因此发行代币的事件将发生在另一个流程中。
如果不行,有什么替代设计可以完成任务?
【问题讨论】:
标签: corda
以这种方式发出 HTTP 请求并不总是一个好主意。
除非您仔细考虑重播前一个检查点时会发生什么。所以重复数据删除和幂等性是关键考虑因素。另外,如果目标关闭会发生什么?此外,这可能会耗尽纤程运行的线程池。
流在光纤上运行。 CordaServices 可以产生自己的线程 线程可以在 I/O 上阻塞,纤程只能在短时间内这样做,我们不保证释放资源或排序,除非它是 DB。线程也可以注册 observables
真正的挑战是重启能力,为此他们需要通过随机杀戮来测试他们的代码。
您需要注意,在发生崩溃时可以重播步骤。这适用于任何重新启动工作的基于服务器端工作的系统。
实际上,您应该:
【讨论】: