活动系统的架构浅谈
任何一套业务系统,都应该为业务而服务的。
之前做过一套抽奖系统,最近有很多人来问,我这里稍微提炼了下,与大家分享分享。
下图为抽奖系统的各应用职责以及流程图:
在抽奖平台,架构需要关心的点:
- 平台通用性:方便有此类需求的快速接入
- 业务独立性:各业务可以自定义抽奖逻辑或流程
- 数据一致性:即前台如果提示用户中奖,则奖品数据的减少,中奖数据的插入 应该是一致性的。
- 并发及容错:在高并发下,如何保证系统的稳定性以及业务的合理性
- 数据监控:关键流程的数据监控。以及活动后,相应的业务数据保存分析。活动最终服务于业务。
数据的一致性:
数据库的事务已经在这方面提供了非常好的支持
并发容错:
根据tps,qps的数据,进行限流。这块还是需要业务上的配合
数据监控:
业务关心什么数据,应用稳定性数据