原文鏈接: 每秒處理10萬高併發訂單的樂視集團支付系統架構分享
一、庫分表
- 採用二叉樹分庫 ,有效的分散對數據庫單點的訪問量
- 採用分表儘量將分佈式事務轉化爲本地事務
二、訂單 ID
三、最終一致性
四、數據庫高可用
五、數據分級
將支付系統的數據劃分成3級:
- 第1級:訂單數據和支付流水數據;這兩塊數據對實時性和精確性要求很高,所以不添加任何緩存,讀寫操作將直接操作數據庫
- 第2級:用戶相關數據;這些數據和用戶相關,具有讀多寫少的特徵,所以我們使用redis進行緩存
- 第3級:支付配置信息;這些數據和用戶無關,具有數據量小,頻繁讀,幾乎不修改的特徵,所以我們使用本地內存進行緩存
開發一個高可用的消息推送平臺,當配置信息被修改時,我們可以使用推送平臺,給支付系統所有的服務器推送配置文件更新消息,服務器收到消息會自動更新配置信息,並給出成功反饋
六、粗細管道
- 切斷所有流量,重啓整個集羣,再慢慢導入流量