# 技术细节

# Node 中利用 Redis 实现消息队列

# Mongodb 中的联表查询

# 通过 CI 自动部署 Egg.js 应用

# Node cluster 实现 Node 多进程

# CI + VuePress 实现文档自动部署

# 如何实现异步加载sdk的同时 允许用户提前使用sdk

我们既要异步加载js不影响页面,又要允许用户无须关注加载完成的事件即可调用sdk.

# 通过事件内存队列来保证所有上报都可携带 userId

一般我们sdk的事件捕捉是在sdk加载完成就开始进行的。但实际上页面中用户登录态的获取可能也是异步,使用我们sdk的用户很难去书写 获取完登录态tracker sdk加载完成 之后去设置 userId 的代码。

因此,为了简化用户的使用,我们的目标是: 用户无需关注sdk加载情况,用户只需在自己可以获得userId的地方任意调用sdk进行设置即可,无需关注时机。

那么,SDK 是如何实现在用户还未设置 userId 之前也能感知到用户Id的呢?我们采用了一种延迟上报的队列机制,来保证userId的回填。

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