# 请求合并

为了 SDK 减少上报次数,采用2个策略:

# 请求防抖

用户行为事件发生后,sdk 不会立刻上报本次事件,而是进入一个 5秒 左右的窗口期;当在此期间内继续发生行为事件,则窗口会继续滑动 5秒;类似于电梯升降机制。这种方式可以有效减少 HTTP 请求连续发出。

# 请求合并

如果仅仅对 HTTP 请求进行 防抖延迟,实际上仅仅是避免了请求占用过多的时间窗口,在最终发出时依然会占用较多的 socket 连接。我们知道浏览器分配给一个页面的连接数是有限的,因此,我们对防抖后的多次请求发出前,进行了合并。

请求合并是需要服务端配合的,因此 Node 接受层同时支持单个上报和数组上报模式。

待补充...

Last Updated: 10/11/2020, 9:40:30 PM