您的位置:首页> 日志> 前端技术 正文
DTOP

数据通信PULL和PUSH

chenke | 2020年07月02日 |

>>收藏本文 已有 0条评论

 

拉取和推送是两种不同的协议,两种不同系统间的通信,它描述了数据PRODUCER如何与数据CONSUMER进行通信。

一、推送

数据生成方:

1、把生产的存储的数据传输到数据接收方里。

2、决定获取数据的时点。

数据消费方:

1、提供接收的接口。

2、不知何时能接收到何时的数据。

二、拉取

数据消费方:

1、从数据生成方GET数据源。

2、决定获取数据的时点。

数据生成方:

1、提供数据源的接口。

2、不用关心,也不用知道数据消费方何时获取该数据。

 

数据通信PULL和PUSH

接口类型

数据生成方

数据消费方

优点

缺点

推送

主动的,按自己的时点(业务时点/定时时点)传输数据。

被动的,对收到的数据做出反应。

1、实时性高,数据消费方能第一时间接收到最新数据。

2、数据消费方每次被动接收非空数据,避免空轮询的额外开销,减少服务压力。

3、数据消费方接口简单化。

1、不能确保每次推送都成功被接收,需有未确认成功重推机制(数据生产方复杂化)。

2、缺乏数据的多样性、可能有比较大的数据冗余存在 (数据消费方无法根据自身需要固定要自身业务相关的数据字段)。

拉取

被动的,当被请求时提供数据源。

主动的,决定何时请求去获取数据。

能够减轻数据生产方的系统压力。

1、容易发生漏拉取的数据,还难以发现具体明细数据。

2、增加空轮询,增加额外性能开销。