如今,使用第三方的云服务对移动开发者来说并不是难以接受的事情,但如果连最核心的账号系统也交给第三方呢?在考虑有没有人敢这么做之前,阿里的百川项目已经将它做出来并对外开放了。
云账号 (OpenAccount)是阿里百川项目开放出来的一个业务组件,今年7月正式上线, 阿里百川 是阿里巴巴集团无线开放平台,为移动开发者(涵盖移动创业者)提供快速搭建APP、加速APP商业化、提升用户体验的解决方案。
从云账号的文档可以看到,目前它提供新账号注册、开发者已有账号体系集成、第三方社交平台开放账号体系等功能,可以在开发者已有的账号系统进行双向同步和备份操作,并且提供可定制UI的iOS、Android客户端集成的SDK。
据InfoQ进一步了解,这套系统是由阿里会员系统Havana产品化并开放而来,InfoQ采访了Havana与云账号的技术负责人钱磊,了解了他们为何决定开放账号体系,如何保证账号系统的安全和稳定性,以及后台的架构和性能优化等相关问题。
受访嘉宾介绍:
钱磊,阿里巴巴资深技术专家,在阿里负责过纯技术的产品研发,产出Shy3、Dubbo等优秀的技术产品;其中Dubbo产品已经开源。带领过业务平台的搭建,历经三年打通阿里巴巴全集团的会员体系,阿里巴巴会员体系目前已经承载了淘系几亿级的用户体量,经历了多次双十一的稳定考验。近期负责阿里巴巴百川移动端开放,为移动端创业者搭建集技术、产品、商业为一体的创业孵化平台。
钱磊:谈这个问题之前,我说下两个背景。首先是百川会放出哪些能力,原则是什么。我们的思考是把阿里做的好 的东西产品化出来让开发者使用,通过百川平台让开发者使用到业界第一流的系统。移动端应用细节很重要,有一流的工程师团队在为你服务,可以放心的把专业的 事交给专业的人,开发者可以专注于自己的核心业务逻辑,把场景做透。
我们已经释放出的云账户、 短信 、TAE、多媒体云、OpenIM等产品都是在内部有过长时间沉淀,产品化后供开发者使用。
然后,说到云账号不得不提阿里巴巴的会员体系Havana,我本人也是会员体系的负责人。最早在整个集团有多套账户体系,淘宝、支付宝各一套、 B2B有两套,阿里云有一套,一些并购过来的业务,也有自己的账户,头绪很多;多套账户体系对用户造成很多麻烦,要记多套账户名和密码,有时还要绑来绑 去;账户不通很多基础业务系统很难复用,重复建设很严重。11年开始经过三年的努力将所有的账户系统终于统一到了Havana,过程中产品和技术层面都做 了大量的工作。Havana支持了全集团的会员各种业务,从PC到移动端、从国内用户到海外用户,整个产品链路非常完整。经历过多年双11大促的考验,稳 定性也有保障。
云账号是在Havana系统的基础上产品化而来的,然而对内和对外场景上的差异还是很大的,开放给第三方使用也做了大量的改造。例如模型简化、多租户设计、支持定制化、安全方案等等。
钱磊:这个问题提的非常好,移动端应用的安全比Web应用难做很多。原因是Web应用的客户端是浏览器,能 力不强,以做展现为主,逻辑和数据也都少;体验不太好做,但服务端重,防控的点比较集中;而移动端应用的情况就完全不同了,用户体验可以做极致,数据和逻 辑就很自然的在端上变的重了,所以安全要从端到云做通盘考虑,很考验功力和积累;账户无疑是黑产最想攻击的点,用户在应用内有大量的隐私信息和数据资产, 账户是获取这些资产的钥匙。
账户安全是个整体,有两个方面。一方面是基础安全,移动端应用的终端安全、通讯安全、服务端安全我们都做了大量的工作,使用了阿里集团众多基础 安全产品。例如终端的安全保障就有设备指纹、人机识别、反跟踪调试、代码混淆等方面的设计。通讯安全在性能和安全中我们做了很多取舍,最终选择了使用私有 协议,实现会话级的安全通道。另一方面是业务安全,各类账户操作的安全和风控策略上我们都有大量的积累。例如在垃圾注册、防刷库等,我们有长期的攻防经 验,沉淀了很多数据和策略。
钱磊:整个后台其实分了好几层,处理着不同的问题。大致上有网络接入层、网关层、业务逻辑层、存储层,网络 接入层是复用了手淘的体系;网关层有流控、权限、多租户隔离、灾备等设计;业务层对外的强依赖很少,基本上只会依赖存储,非关键依赖都有降级策略。稳定性 还受益于阿里巴巴整体的技术体系,从网络架构到中间件,到线上监控和运维系统,无论是架构上的稳定性,还是线上运维能力和经验,都是业界一流的。
钱磊:后台性能方面有三个关键因素,第一是中间件的选择,受益于阿里强大的中间件体系,我们使用的HSF、 TDDL、Tair等,都是业界一流的中间件系统,性能和稳定性上都做的非常好;第二是设计上的考量,其中很多是细节,例如登录场景,我们对账户名做了反 向索引,账密登录只需要访问两次缓存,效率非常高。例如在写请求中状态一致性的处理,我们采用的是同步更新DB,异步清除缓存,以确保写请求的RT是稳定 的,不受缓存设计变化的影响;第三是人的因素,做云账号的团队源于做Havana的同学,处理分布式和高并发问题是我们的强项。
钱磊:目前看到的定制化需求主要是在功能和UI层面,例如用哪几种SNS登录方式,登录界面的颜色和文案等,这些我们都已经有支持。
从整体设计上,我们还会提供更多的定制能力,从 功能和UI 到 业务流程 再到 数据模型,都会逐步的释放出来。