微信支付的系统架构到底有多厉害?

2021-09-01 20:20:00

背 景

作为一个重要业务,微信支付在客户端上面临着各种问题。其中最核心问题就是分平台实现导致的问题:

iOS 和安卓实现不一致

  • 容易出 Bug
  • 通过沟通保证不了质量

扩展性差,无法快速响应业务需求

  • 需求变更迭代周期长
  • 数据上报不全面

质量保障体系不完善

  • 缺少业务及设计知识沉淀
  • 协议管理松散
  • 缺少统一的自动化测试

用户体验不一致

比如下图就是之前安卓和 iOS 没有统一前的收银台。

为了解决分平台实现这个核心问题,并解决以往的技术债务。我们建立起了一整套基于 C++的跨平台框架,并对核心支付流程进行了重构。

微信支付跨平台从 iOS 7.0.4 版本起, 安卓从 7.0.7 版本起全面覆盖。

线上效果指标

以 iOS 上线情况为例:

Crash 率

上线前后 Crash 率保持平稳,没有影响微信稳定性,跨平台支付无必现 Crash,做到了用户无感知切换。

举个例子,大家可以用微信发一笔红包,拉起的收银台和支付流程就是由基于C++编写的跨平台代码所驱动的。

效能提升

以核心支付流程代码为例,跨平台需要 3512 行,iOS 原生需要 6328 行。减少了近 45% 的代码。

以新需求开发为例:

7.0.4 版本需求一:收银台改版

7.0.4 版本需求二:简化版本收银台

  • 跨平台实现:iOS + 安卓 共计 3 人日,在封板时间前完成
  • 原生实现:iOS, 安卓封板时间后一周才基本完成
  • 跨平台实现:iOS + 安卓共计 5 人日,在封板时间前完成
  • 充值微信钱包 海外充值微信钱包 微信充值
  • 原生实现:iOS, 安卓封板时间后一周才基本完成

那么支付跨平台软件架构怎么样有效进行质量保障,并且提升生产力呢?


上一篇:

下一篇:

Copyright© 2015-2020 站酷网版权所有