# 技术细节
# 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的回填。
← 技术栈