%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#d1e3a0','textColor':'#ffffff','loopTextColor':'#ffffff'}}}%%
sequenceDiagram
participant A as 受众给TSP提供的回调接口
participant B as 执行记录
participant C as S3云存储
participant D as 任务执行记录的TSP快照(ES)
participant E as 任务执行记录的受众快照(ES)
A->>A:TSP 调用回调接口 传参 业务唯一id(批次号+tsp的人群id)+ 文件地址
A->>B: 查询批次号对应的任务记录及受众id
B-->>A: 返回受众id
A->>+C:8, 根据文件地址+桶信息+密钥 获取s3存储的S3文件
Note right of A: 文件过大,可能OOM
C-->>-A: 返回文件
A->>A:9,解析文件
alt 解析失败
A->>B: 更新执行记录状态为执行失败
B-->>A: success
else 解析成功
A->>A: 更新TSP人群信息,存储该次更新tsp用户的快照信息
A->>D: 存储该次更新tsp用户的快照信息
opt 该批次该受众id下所有TSP信息全部更新
Note right of A: 需要读取全部的用户比对,用户量过大,OOM
A->>A: 计算受众规模,取TSP并集合
A->>E: 查询受众的上一条快照信息
E-->>A: 返回快照
A->>A:比对本次和上次的差值
Note right of A: 需要读取全部的用户比对,用户量过大,OOM
alt 本次自定义受众数量较上次减少30%(Apollo配置)
A->>A: 更新执行记录为待人工确认
else 没有超过百分之30
A->>A: 推送新增用户信息到广告平台Google和Facebook
A->>A: 移除减少的用户信息调用广告平台Google和Facebook
end
end
end
领域驱动设计-慕课网
类型
软件架构
学习时间
Jan 15, 2022
状态
进行中
参考资料
网站
封面
Loading Comments...