签到系统设计
1. 需求分析
- 核心功能:
- 用户每日签到一次,不可重复签到。
- 记录连续签到天数,触发奖励(如积分、勋章)。
- 支持签到日历展示(历史记录)。
- 可选扩展:排行榜(连续/累计签到)、补签功能。
- 非功能性需求:
- 高并发:应对峰值签到请求(如每日零点)。
- 低延迟:用户签到后即时反馈。
- 数据一致性:防止重复签到,保证奖励准确。
- 技术要点:
- 同一时间点,短时间,高流量;
- 签到完成后,立即读取到最新的签到结果;
2. 核心逻辑
客户端 → API网关 → 签到服务集群 → 缓存 → 持久化存储 | |→ 消息队列(其他服务消费:奖励、排行榜)