天鹅到家支付系统高可用架构实践

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1.
2. 天鹅到家支付系统高可用架构实践 毕仁杰
3. 自我介绍 • 天鹅到家 架构师|资金营销团队负责人 • 2016年加入天鹅到家 • 负责天鹅到家支付清结算体系搭建 • 负责会员卡&优惠券等营销体系的搭建 • 近10年后端系统研发经验 • HybridAPP、ReactNative等移动端跨平台方案
4. 目录 目 录 CONTENTS 1 业务背景 2 支付系统架构设计 3 支付系统可用性保证 4 支付系统正确性保证 5 面临的挑战和总结
5. 业务背景 • 保洁 按单结算,抽佣,实时清算,奖惩,每月10号发工资,自主提现 • 保姆 按单结算,商家信息服务费,补贴,实时清算,无冻结期,自主提现 • 月嫂 按单结算,客户信息服务费,实时清算,无冻结期,自主提现 • 平台 按单结算,抽佣,返佣,有冻结期,机构/个人自主提现 • 培训 支付&退款,不涉及商家清结算
6. 技术架构
7. 目录 目 录 CONTENTS 1 业务背景 2 支付系统架构设计 3 支付系统可用性保证 4 支付系统正确性保证 5 面临的挑战和总结
8. 业务架构
9. 支付清结算架构 Ø 措施 1、幂等 2、延时消息队列 3、分布式锁 4、TCC 5、多版本并发控制 (MVCC) 最终一致性 自修复能力
10. 通用HTML5收银台
11. 目录 目 录 CONTENTS 1 业务背景 2 支付系统架构设计 3 支付系统可用性保证 4 支付系统正确性保证 5 面临的挑战和总结
12. 可用性 墨菲定律:“会出错的事总会出错”
13. 可用性保证 实时监控机制 限流熔断防雪崩 资源隔离 高性能,提高吞吐量 安全机制
14. 限流熔断防雪崩 • 串行环节过多,交易链路过长,请求快速堆积 • 区分关键节点,非关键节点熔断机制 • 合理设置超时时间 • 系统容量预估,做到心中有数
15. 高性能 • 压测 TPS、平均耗时、TP999
16. 实时监控 • 服务监控 • 接口监控 • 数据库慢查询监控
17. 资源隔离 • 进程隔离 收银台、支付、提现、清算、结算、账户等独立部署 • 线程隔离 线程池隔离,定时任务隔离 • 数据库隔离 支付数据数据库按业务线维度拆分,水平垂直拆分 • 热点隔离 服务分组,热点流量独立部署
18. 安全机制 • 接口签名,内网调用 收银台、支付、退款、提现等加签 • 黑白名单 IP黑白名单、用户黑白名单、商家黑白名单等 • 风控机制 信用卡套现、恶意下单、刷单等 • 系统可审计 权限控制、系统日志、操作记录、系统留痕
19. 目录 目 录 CONTENTS 1 业务背景 2 支付系统架构设计 3 支付系统可用性保证 4 支付系统正确性保证 5 面临的挑战和总结
20. 正确性保证
21. 对账系统 Ø 对账模式 1、日切对账 2、准实时对账
22. 差错处理 对平 两方均有数据且对比维度值一致 单边 一方有数据另一方没有找到数据 错账 两方均有数据但是对比维度值不一致
23. 差错告警 Ø 措施 1、完善的系统差错处理能力 2、规范的差错处理流程
24. 目录 目 录 CONTENTS 1 业务背景 2 支付系统架构设计 3 支付系统可用性保证 4 支付系统正确性保证 5 面临的挑战和总结
25. 面临的挑战 资金安全底线 如何避免资损,守住红线 01 02 故障快速恢复能力 03 业务复杂度 面临的挑战 系统历史包袱 业务整合,系统历史包袱重 04 完善的预警和监控机制,快速定 位和解决问题,故障演练 多主体,业务模式快速迭代
26. 经验总结 • 出账入账原则 收款交易原则:先收款后记账 出款交易原则:先记账后出款 • 得到明确结果再执行出款操作,警惕假失败 提现失败返还、退款等场景 • 幂等 业务校验、分布式锁(粒度)、乐观锁、UNIQUE KEY唯一索引 • 数据库事务 强事务使用不当导致回滚后无业务记录 • 对账 事后对账,最后一道防线
27.

首页 - Wiki
Copyright © 2011-2024 iteam. Current version is 2.139.0. UTC+08:00, 2024-12-25 10:53
浙ICP备14020137号-1 $访客地图$