中等
技术面试0 次浏览

在携程的旅游套餐业务中,有用户浏览记录数据,包含用户 ID、套餐 ID、浏览时间等字段。设计一个系统,能够实时统计每个用户在过去 24 小时内浏览的不同套餐数量。请描述系统的架构和实现思路。

携程数据分析师
系统设计旅游套餐实时统计

答题要点

可采用分层分析法来设计系统架构。首先将系统分为数据采集、数据存储、数据处理和结果展示四层。关键要点如下:1. 数据采集:使用消息队列(如 Kafka)收集用户浏览记录,确保数据的实时性和可靠性。2. 数据存储:使用内存数据库(如 Redis)存储用户浏览记录,方便快速查询和更新。3. 数据处理:编写实时处理程序(如 Flink),从消息队列中读取数据,过滤出过去 24 小时内的数据,按用户 ID 分组统计不同套餐数量。4. 结果展示:将统计结果存储在数据库中或提供 API 供前端调用。示例思路:用户浏览记录通过 Kafka 收集,存储到 Redis 中,Flink 实时处理数据,统计每个用户在过去 24 小时内浏览的不同套餐数量,结果可存储在 MySQL 中供前端展示。