原文链接: 每秒处理10万高并发订单的乐视集团支付系统架构分享
一、库分表
- 采用二叉树分库 ,有效的分散对数据库单点的访问量
- 采用分表尽量将分布式事务转化为本地事务
二、订单 ID
三、最终一致性
四、数据库高可用
五、数据分级
将支付系统的数据划分成3级:
- 第1级:订单数据和支付流水数据;这两块数据对实时性和精确性要求很高,所以不添加任何缓存,读写操作将直接操作数据库
- 第2级:用户相关数据;这些数据和用户相关,具有读多写少的特征,所以我们使用redis进行缓存
- 第3级:支付配置信息;这些数据和用户无关,具有数据量小,频繁读,几乎不修改的特征,所以我们使用本地内存进行缓存
开发一个高可用的消息推送平台,当配置信息被修改时,我们可以使用推送平台,给支付系统所有的服务器推送配置文件更新消息,服务器收到消息会自动更新配置信息,并给出成功反馈
六、粗细管道
- 切断所有流量,重启整个集群,再慢慢导入流量