v

面试防线:跨 iframe 及微前端环境下的埋点上下文穿透与会话串联

面试官提问
“企业系统经常嵌套大量 iframe 或采用 qiankun 微前端。由于环境物理隔离,各应用里实例化的 SDK 各自为战,导致用户 SessionID 断裂。这种难题怎么解?”

核心回答思路 (STAR法则)

1. 业务痛点 (Situation)

微前端架构下,用户从基座跳入子应用,被监控 SDK 识别为两次独立会话,无法进行全链路漏斗分析。

2. 技术考量 (Task)

需要一套父子架构共振机制,跨越浏览器安全沙箱边界,强行贯通身份上下文。

3. 架构决策 (Action)

  • 智能探针与主从模式:SDK 初始化时嗅探环境。若检测到 window !== window.top,SDK 主动降级为“Slave 子节点模式”,暂停生成独立 UUID。
  • PostMessage 双心跳与握手:子模式 SDK 立刻向基座 window.top 发起握手请求. 基座(Master 模式)接收后,将维护的全局唯一 Session ID 等上下文通过 Message 下发给子框架。
  • 微前端 Proxy 共享总线:针对同域微前端,基座 SDK 初始化时在全局注入被 Proxy 保护的共享挂载点 window.GLOBAL_TRACKER_CONTEXT。子应用直接挂载继承上下文。

4. 业务价值 (Result)

无论嵌套多深的沙箱框架,用户的全链路会话如红线般被基座牢牢牵住,让数据团队拿到了 100% 纯度的跨端归因数据模型。