服务或框架间进行通信时,如果能走同步的方式最好,实时返回数据,如果不能,比如一些比较耗时的任务,就需要用异步的方式了。
异步的通信,一般有回调和轮询两种。
比如A服务向B服务发起请求,B服务先返回已接收的信号,再异步执行,执行完后向A服务提供的地址进行回调,将结果返回。也可由A服务定时向B服务查询结果,这叫轮询。
好的设计应该有冗余性考虑,同时使用两种方式,避免单一方式的故障,比如支付场景。
Home of Little Jelly
服务或框架间进行通信时,如果能走同步的方式最好,实时返回数据,如果不能,比如一些比较耗时的任务,就需要用异步的方式了。
异步的通信,一般有回调和轮询两种。
比如A服务向B服务发起请求,B服务先返回已接收的信号,再异步执行,执行完后向A服务提供的地址进行回调,将结果返回。也可由A服务定时向B服务查询结果,这叫轮询。
好的设计应该有冗余性考虑,同时使用两种方式,避免单一方式的故障,比如支付场景。