首页 > 财经 >

模块化与解耦式开发在蚂蚁金服 mPaaS 深度实践探讨

2018-11-26 02:18:59 网络整理 阅读:88 评论:0

前言

今天很高兴有机会给大家分享支付宝的开发经验,具体的内容将分成三个部分展开:

支付宝架构设计与发展;

支付宝的敏捷发布与稳定性保障;

支付宝架构的优势与赋能。

1

支付宝架构设计与发展

首先看一下支付宝的发展历史,最开始支付宝只是作为支付功能支持淘宝业务,后来逐步发展成为独立的 App,并从简单的支付功能衍生出转账、水电煤支付等生活服务,现在的支付宝已经成为一个多应用生态的超级 App。生活中你想做任何事情,几乎都可以在支付宝上实现。

模块化与解耦式开发在蚂蚁金服 mPaaS 深度实践探讨

截止目前,支付宝实名..用户已经超过了 8 亿,日活数亿。在研发上面,仅 Android、iOS 客户端开发人员近千人,客户端代码行数超过了数百万行,Android 版本支付宝的工程数业已近千个,每个工程都有独立的开发 owner 负责某一个具体的模块。虽然工程师团队及工程量越发庞大,支付宝依旧能够做到日发布的频率以确保业务快速迭代。即使业务功能日益复杂,但 App 闪退率仅 0.01%。

那么,为了达到这样的业务指标,我们做了什么呢?

随着互联网的应用场景进一步丰富,用户对交互、体验的要求也越来越高。由此,我们需要在 App 的各方面下足功夫,比如客户端的运行流畅性、最大努力降低电量、流量的能耗。

我们最近在推的一个项目便是支付宝的网络统一:在客户端建立一条与服务端的长连接,通过这个长连接通道进行网络通讯协议的封装,进行业务网络请求的通讯。一般情况下咱们每次发网络请求都会建立一个 HTTP 三次握手,这样会有一定的网络延迟和没必要的流量浪费,支付宝为了解决这样的问题做了网络统一库,提升了网络通讯效率。

此外,支付宝针对扫一扫功能的性能优化,不仅体现在扫码的及时反馈,也包括对于..的识别范围相对竞品会更广。同时,国内有著名手机厂商直接在自身的手机系统中集成了支付宝的扫一扫组件,作为系统默认的扫码能力,这从侧面反映了支付宝在细分领域的优势。

再来谈谈支付宝如何应对复杂的使用环境:我认为最典型的复杂使用环境的即手机没网的情况下支付宝如何做到顺利打开付款码?

一般情况下,出于安全考虑,付款码仅在几个小时内有效。但支付宝内置了阿里大安全部门提供的黑匣子,通过黑匣子能够有效保障移动端安全,因此即使你在弱网环境或长时间未开启付款页面,支付宝依然能够顺利完成支付。

模块化与解耦式开发在蚂蚁金服 mPaaS 深度实践探讨

接下来,我们来了解看看这一系列性能优化的背后,技术架构是如何设计和实现的。

模块化与解耦式开发在蚂蚁金服 mPaaS 深度实践探讨

这是支付宝客户端的总体架构图,从下往上看:

相关文章