主动推送与主动拉取在实现数据定时传输中的差别
功能 | 主动推送方式 | 主动拉取方式 |
接口规范 | 由数据终端提供接口,数据源端调用接口推送数据 | 由数据源端提供接口,数据终端调用接口拉取数据 |
定时器 | 由推送方(数据源端)实现 | 由拉取方(数据终端)实现 |
缓存 | 在不影响正常运行的情况下,数据源端可不做缓存,实时获取并推送数据,消耗资源过大时做缓存 | 数据源端需要做缓存,以避免终端频繁拉取。若因参数值过多而致缓存过大时,应按调用方标识限制接口调用频次 |
截断标志 | 数据源端记录最后一次推送的数据ID,并在下一次推送时判断此标识往后推送数据 | 数据终端记录最后一次拉取的数据ID,并在下次一拉取时传递给数据源端 |
日志与故障排查 | 双方都需要保留日志 | 双方都需要保留日志 |
在有一个数据源端和多个数据终端的系统中 | 优点:无 缺点:数据源端需要依据不同的数据终端提供的接口规范推送数据,若这些数据终端要求的推送间隔时间不致,则会使用定时器和缓存实现更为复杂 | 优点:所有终端使用统一的接口规范,数据拉取间隔时间由终端自由决定 缺点:无 |
在有多个数据源端和一个数据终端的系统中 | 优点:所有数据源端使用统一的接口规范,数据推送间隔时间由数据源端自由决定 缺点:无 | 优点:无 缺点:数据终端需要依据不同的数据源端提供的接口规范拉取数据 |
可能相关的内容