如何知道是否完成了异步RPC



假设我有一个rpc调用,它需要一个很长时间才能完成,在这种情况下,我最好使用异步的RPC调用来让本地进程继续执行其他一些工作。该RPC调用完成并返回后,如何通知本地过程?

启用这种通知/通信的机制是什么?

RPC的某些口味可以通过选择远程操作完成后选择的方法。

当RPC调用完成并返回后,本地过程如何通知?

它取决于您必须使用的API。如果您是指您现在正在开发的API,则需要选择方法取决于任务和通信能力。

有哪些启用这种通知/通信的机制?

  • 直接回复 - 仅对于快速任务,如果任务花费太长,则返回答复该任务太长,需要使用轮询或通知,
  • 民意调查(HTTP( - 同时进行轮询任务状态,
  • 长民意调查(HTTP( - 相同但回复几乎没有延迟以相反的方向实时,但使得无法朝前方向实时,
  • fullduplex双向协议-TCP/udp/websocket/etc-使用通知消息来通知任务状态。

最新更新