vivo应用商店(vivo应用商店app下载)
9月3日,由猎聘主办的主题为领略技术牛人的洪荒之力的猎聘同道精英汇,在广州总统大酒店落下了帷幕。vivo的架构师刘海燕先生分享了vivo应用商店架构设计与实践经验两个方面。
经过整理和精选,以下为刘海燕演讲干货。
演讲开始,刘海燕首先介绍了vivo应用商店这款产品,作为vivo的第一个互联网产品,vivo应用商店目前的用户有1亿多,而在11年年底的时候,其用户才30万,这主要是由于vivo互联网业务的发展和用户的增长都非常快,这主要也取决于我们终端手机销量的快速增长。关于厂商的应用商店,虽然拥有系统的权限,刘海燕说这是一把双刃剑,如果产品本身做不好的话,用户会直接投诉是手机品质问题。
刘海燕介绍说目前整个应用商店的主要流量入口做到了全自动的内容引擎运营,包括推荐引擎、算法引擎和搜索引擎。应用商店之前就是一个简单的产品和后台,随着业务的发展,现在发展成包括推荐、搜索、推广、内容库、开发者平台、论坛、积分系统等一个大的应用分发生态。从技术来看,所有业务的垂直特性比较明显。
刘海燕说架构设计的目标主要是高可用性、高稳定性、高伸缩性,每个目标的结果都会量化考核,以结果为导向。应用商店的可用性目标是4个9。对vivo来说,服务稳定是最重要的,所以会遵循一些简单的原则。刘海燕谈到CAP理论时说系统在稳定性、数据一致性和分区容错性方面,一般只满足其中两者,很难做到三者兼顾。不要花费太多的精力和资源,去打造一个完美的框架,很多地方其实是没有必要的。按照BASE思想对CAP的补充,做到数据的最终一致性就可以了,刚好vivo大部分产品线对数据一致性要求都不高。
刘海燕说vivo现在也在做服务化的改造与优化。应用商店前期也是一个MVC单体的框架,随着业务和团队的增长,一些业务模块自然地进行了垂直的拆分,不同业务拆分之后,系统之间会有一些相互的依赖,会有一些相互的服务调用,这样就引入RPC的框架,随着服务越来越多,越来越复杂,就需要有服务治理的平台。vivo目前正在开发自己的服务管理平台。
刘海燕推荐一本书,叫做《分布式服务框架原理与实践》,虽然书写得比较细。但他认为这些其实都是服务化的一些基本要素,就是你做了服务化之后,很多服务管理的东西没有的话,会很难保证服务质量。
说到架构设计,刘海燕认为基本功之一是在数据库的部分,包括数据库的设计和SQL的优化。这相当于房子的地基,会对上层设计产生很大的直接影响。如果数据库设计不好,很容易导致系统需要重构。
关于下载防劫持,刘海燕说下载发起请求前,客户端会预先请求获取应用的基本信息,然后在下载请求过程中,会先比较头信息里的大小,大小一致后再下载资源文件,最后下载完成后,再判断md5值是否一致。先判断大小,可以预先防止下载被劫持的资源文件,造成流量的损失。如果被劫持后,客户端会请求备用的https安全地址。
演讲最后,刘海燕介绍了vivo在搜索、大数据推荐、应用安全等方面的架构实践。现在vivo已经在大力建设互联网各个领域的团队,目前是在全力发力的阶段。