1、云闪付APP架构优化实践2提纲4 云闪付APP介绍 碰到的问题 系统架构设计 后续工作一、云闪付APP介绍5余额查询控件支付转账开放平台二维码支付还款公缴充值乘车码权益平台商城u 云闪付APP一、云闪付APP介绍7u 余额查询:支持330家银行余额查询,21家大行均已支持多卡余额累计查询单卡查询查询入口-卡管理一、云闪付APP介绍8u 账单查询与还款:支持145家银行账单查询和还款,21家大行均已支持卡详情信用卡还款入口卡管理信用卡还款一、云闪付APP介绍92亿+用户月活5000万+用户规模10000+节点多个机房双中心部署规模百亿级交易量百万级TPS交易规模支付领域领先上述数据统计截止201
2、9年8月10 云闪付APP介绍 碰到的问题 系统架构设计 后续工作提纲二、碰到的问题11u 立体式营销线上渠道线下渠道二维码主扫二维码被扫手机PAY控件支付商超百货便利店生活缴费出行活动形式支付场景营销渠道问题:后台多重压力形成业务爆点造成运维挑战二、碰到的问题12u 多方模式云闪付APP用户银行行业二、碰到的问题13u 线下体验用户体验优先高标准严要求线下体验剩余名额名额返还优惠展示提前知道有无名额名额使用和返还准确简化优惠获得方式或渠道营销体验更好的APP 不断改善用户体验 更加稳定的APP使用体验 营销资金的严格把控14提纲 云闪付APP介绍 碰到的问题 系统架构设计 后续工作三、拆分与
3、隔离15u 垂直拆分:多业务线(商城业务、支付业务、优惠业务等)支付业务服务申码服务优惠业务服务支付服务卡基础服务用户服务风控基础服务商城业务服务接入层业务服务层基础业务层Apache接口服务F商城订单服务WEB层FApache接口服务FApache接口服务FApache接口服务客户端服务密钥服务服务缓存及数据层缓存集群文件服务数据库集群u 水平拆分:服务分层(接入层、服务层、基础层、数据层等)三、拆分与隔离16u 业务拆分:子业务(主扫二维码、被扫二维码、乘车码等)主扫支付支付服务被扫支付乘车码u 部署分组:单元化(最小单元)接入服务A服务B分组1接入服务A服务B分组2接入服务A服务B分组1
4、接入服务A服务B分组2接入服务A服务B分组3接入服务A服务B分组3三、拆分与隔离17应用A消息中间件数据库应用A应用A应用A应用B应用B应用B应用B发送消息拉取消息业务处理应用C异步落库调用解耦快慢服务分离调用者隔离入口限流三、拆分与隔离18AllInOne用户库订单库账务库.集中式单一数据库根据业务垂直拆分用户库1用户库2用户库3.订单库1订单库2.账务库1账务库2账务库3.根据数据量水平拆分DB2MySQLUPSQLu 数据分片-UPSQL/UPRedis三、拆分与隔离19u 合理的业务设计活动场次活动主题主要商户7:00便利店7-11、全家9:00线上专场京东、苏宁10:00商超百货家乐
5、福、沃尔玛11:00生活缴费手机充值、公共事业缴费19:00商超百货家乐福、沃尔玛三、异步化20u银行卡余额查询流程1串行异步执行A卡余额B卡余额C卡余额D卡余额流程1A卡余额流程2流程3流程4C卡余额D卡余额B卡余额并行异步执行应用检测所有任务完成A卡余额B卡余额C卡余额D卡余额串行同步执行三、异步化21u异步化框架流程编排,自动调度:同步调用阻塞等待n 链式处理,自动调度n 避免回调陷阱,编码简单n 超时监控,异常处理异步调用事件驱动三、异步化22u实际效果p 性能:与同步模式相当p 有效减少工作线程分配测试场景实际TPS应用线程数magpie同步:10ms服务18000300195005
6、00magpie异步:10ms服务1900082000016http同步:10ms服务19000200180001000http异步:10ms服务17600161800032三、异步化23u实际效果p减少慢服务对快服务的影响p 并行调度有效减少响应时间测试场景详细描述实际TPS其他说明客户端并发数http混合场景1:长flow异步调用:10ms+10ms+10ms+10ms7000延迟120ms800http混合场景2:多flow并发异步调用:flow1:10msflow2:10msflow3:10msflow4:10ms7000延迟50ms400htt