假设我有一个rpc调用,它需要一个很长时间才能完成,在这种情况下,我最好使用异步的RPC调用来让本地进程继续执行其他一些工作。该RPC调用完成并返回后,如何通知本地过程?
启用这种通知/通信的机制是什么?
RPC的某些口味可以通过选择远程操作完成后选择的方法。
当RPC调用完成并返回后,本地过程如何通知?
它取决于您必须使用的API。如果您是指您现在正在开发的API,则需要选择方法取决于任务和通信能力。
有哪些启用这种通知/通信的机制?
- 直接回复 - 仅对于快速任务,如果任务花费太长,则返回答复该任务太长,需要使用轮询或通知,
- 民意调查(HTTP( - 同时进行轮询任务状态,
- 长民意调查(HTTP( - 相同但回复几乎没有延迟以相反的方向实时,但使得无法朝前方向实时,
- fullduplex双向协议-TCP/udp/websocket/etc-使用通知消息来通知任务状态。