《2019年银联云闪付架构优化实践.pdf》由会员分享,可在线阅读,更多相关《2019年银联云闪付架构优化实践.pdf(30页珍藏版)》请在三个皮匠报告上搜索。
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服务005
6、00magpie异步:10ms服务16http同步:10ms服务001000http异步:10ms服务032三、异步化23u实际效果p减少慢服务对快服务的影响p 并行调度有效减少响应时间测试场景详细描述实际TPS其他说明客户端并发数http混合场景1:长flow异步调用:10ms+10ms+10ms+10ms7000延迟120ms800http混合场景2:多flow并发异步调用:flow1:10msflow2:10msflow3:10msflow4:10ms7000延迟50ms400http混合场景4:同步对标同步调用10ms+
7、10ms+10ms+10ms 4000延迟200ms800详细描述实际TPSmagpie/upjas线程数客户端并发数magpie同步:1s服务+10ms服务混合18000(10ms)0(1s)500900(10ms)0(1s)4200(10ms)430(1s)500900(10ms)500(1s)magpie异步:1s服务+10ms服务混合17000(10ms)288(1s)16900(10ms)300(1s)18000(10ms)487(1s)161500(10ms)500(1s)三、展示优化24u集中展示平台p 设计要点1.将各自独立的展示系统统一到剩余名额服务中,对APP提供统一接口2
8、.通过该服务缓存数据,降低对下游系统的性能冲击3.使用自助研发的分布式缓存UPRedis支撑APP的查询压力立减CUPA获取券集中展示平台APPCacheMAGPIEMAGPIEMAGPIE三、柔性事务25uTCC方案发起方Try接口服务AConfirm接口Cancel接口Try接口服务BConfirm接口Cancel接口DB/缓存/MQDB/缓存/MQu 自研,轻量u MT模式,后续支持AT模式u 支持银联分布式数据库和缓存u 集成银联RPC框架u 异步加速三、柔性事务26uTCC解决方案应用MQ/缓存1.扣减名额2.完成交易失败5.名额退回3.记录失败交易4.补偿交易扣名额应用1.扣减名额
9、2.完成交易失败3.名额退回(框架自动完成)交易扣名额三、营销资金27u 热点账户RMUPRedisProxyUPRedismasterUPRedisProxyProxy集群sentinel1UPRedisslaveUPRedismasterUPRedisslaveredis分片1redis分片2sentinel2sentinel3健康集群UPRedismasterUPRedisslaveredis分片3UPRedismasterUPRedisslaveredis分片4性能:拆账户(多分片)数据可靠性:同步复制可用性:一主两从、复制降级三、营销资金28u 资金安全幂等控制防止超时重复调用导致的
10、资金问题分布式一致性业务监控保障分布式服务调用结果的一致,尤其避免短款监控业务活动开展情况以及资金池的使用情况资金安全实时风控不同于常规的日志对账,准实时的日间对账,及时跳预警并发控制平衡试算实时预警用户账户、商户等维度的交易异常波动避免并发修改数据层导致的资金不一致29HTTPSCDNF5upngx主扫被扫开放平台乘车码会员优惠还款转账充值通用网关专线网关用户第三方应用运营管理业务运营系统(业务参数)系统管理平台(系统参数)内容管理平台(展示信息)营销开放平台(营销活动)客户端管理平台(APP展示)业务管理平台(票券折扣)运维监控日志归集调用链跟踪运维监控平台自动化安装数据库管理平台云资源管
11、理平台容器资源管理平台接入层业务层微服务支付服务营销服务账户服务用户服务设备服务风控服务短信服务消息服务加解密订单服务规则引擎session业务服务基础服务统一配置中心统一调度中心服务调用框架Servlet容器交易跟踪框架异步化框架消息队列分布式事务框架微服务中间件数据层业务库管理库大数据缓存数据UPSQLUPRedisUPDRDBmoray数据组件云平台容器平台x86微服务全渠道二维码行业内容行业机构合作方通讯层三、后台技术架构图提纲30 云闪付APP介绍 碰到的问题 系统架构设计 目前工作四、目前工作31u 双中心双活数据层应用服务分流规则服务数据层应用服务分流规则服务F5F5CDN双中心分别接入双中心都处理交易数据中心间同步可以随时切换CDN只负责按规则转发请求流量分配后台控制后台可以基于多种规则分配流量(地理位置、城市、用户等)四、目前工作32u 运营体系建设:业务监控自动化部署与弹性扩缩容灰度发布u 持续架构治理:公共基础服务服务管控与隔离部署结构u 开放赋能:进一步开放平台,形成良性的产业生态解决方案输出