DoorDash 使用 Flink 开发新会话化平台以提高通知送达时效

DoorDash 开发基于 Apache Flink 的实时会话化平台

DoorDash 工程团队的陈阳(Chen Yang)和张帆(Fan Zhang)最近开发了一个基于 Apache Flink 的内存会话化平台,能够实时识别用户活动和用户会话。这一新系统解决了 DoorDash 此前面临的一个重要挑战:准确区分用户是真正放弃了购物车,还是仅仅在浏览更多商品或不同商家。这种区分对于发送及时且相关的购物车放弃通知至关重要。传统方法(如批处理)不仅资源消耗大,还存在延迟,使得实时检测几乎不可能实现。

新平台的设计与优势

新会话化平台通过一个大型、有状态的 Flink 作业来监控移动和网页客户端事件,并在内存中处理用户活动事件流。这种设计避免了“在处理前将大量数据从冷存储加载到内存”的需求,从而降低了巨大的计算成本和延迟。此外,新平台能够在短时间内检测到用户的不活动状态,从而在更合适的时机发送通知。

面临的挑战

尽管新平台带来了显著的优势,但也面临一些挑战。由于 Flink 实时处理所有事件并存储在内存中,它需要保留所有用户会话事件,直到会话结束。考虑到 DoorDash 的规模以及每个客户会话通常持续约一个小时,本地内存中的状态数据可能在任何时刻达到数百 GB。

成果与未来计划

DoorDash 采用 Apache Flink 进行实时会话检测和通知发送,显著提升了用户参与度和转化率。新设计帮助 DoorDash 大幅提高了通知发送的及时性和准确性,使发送到打开率提高了 40%。这一成功已促使 DoorDash 进行一系列新的实验,包括在购物车放弃通知中添加促销信息,以及控制购物车放弃通知的频率。

数据流图

实时会话检测数据流,由 DoorDash 工程团队设计。

通过这一创新平台,DoorDash 不仅优化了用户体验,还为其业务增长提供了强有力的技术支持。

阅读 25
0 条评论