数据通信PULL和PUSH
拉取和推送是两种不同的协议,两种不同系统间的通信,它描述了数据PRODUCER如何与数据CONSUMER进行通信。
一、推送
数据生成方:
1、把生产的存储的数据传输到数据接收方里。
2、决定获取数据的时点。
数据消费方:
1、提供接收的接口。
2、不知何时能接收到何时的数据。
二、拉取
数据消费方:
1、从数据生成方GET数据源。
2、决定获取数据的时点。
数据生成方:
1、提供数据源的接口。
2、不用关心,也不用知道数据消费方何时获取该数据。
数据通信PULL和PUSH | ||||
接口类型 | 数据生成方 | 数据消费方 | 优点 | 缺点 |
推送 | 主动的,按自己的时点(业务时点/定时时点)传输数据。 | 被动的,对收到的数据做出反应。 | 1、实时性高,数据消费方能第一时间接收到最新数据。 2、数据消费方每次被动接收非空数据,避免空轮询的额外开销,减少服务压力。 3、数据消费方接口简单化。 | 1、不能确保每次推送都成功被接收,需有未确认成功重推机制(数据生产方复杂化)。 2、缺乏数据的多样性、可能有比较大的数据冗余存在 (数据消费方无法根据自身需要固定要自身业务相关的数据字段)。 |
拉取 | 被动的,当被请求时提供数据源。 | 主动的,决定何时请求去获取数据。 | 能够减轻数据生产方的系统压力。 | 1、容易发生漏拉取的数据,还难以发现具体明细数据。
2、增加空轮询,增加额外性能开销。 |
用户登录
还没有账号?
立即注册