草庐IT

vivo官网App模块化开发方案-ModularDevTool

说明:本工具基于vivo互联网客户端团队内部开源的编译管理工具开发。一、背景现在客户端的业务越来越多,大部分客户端工程都采用模块化的开发模式,也就是根据业务分成多个模块进行开发,提高团队效率。例如我们vivo官网现在的整体架构如下图,分为13个模块,每个模块是一个独立代码仓。(注:为什么这么分,可以参考之前的一篇文章《​​Android模块化开发实践​​​》)二、痛点完全隔离的代码仓,使每个模块更独立,更易于代码管理,但也带来了一些问题。1、开发阶段,子仓开发以及集成开发调试,操作麻烦、易出错、难跟踪回溯1.1、当开发时涉及的模块较多时,需要手动一个一个拉代码,多个子仓的代码操作非常麻烦,并且

vivo官网App模块化开发方案-ModularDevTool

说明:本工具基于vivo互联网客户端团队内部开源的编译管理工具开发。一、背景现在客户端的业务越来越多,大部分客户端工程都采用模块化的开发模式,也就是根据业务分成多个模块进行开发,提高团队效率。例如我们vivo官网现在的整体架构如下图,分为13个模块,每个模块是一个独立代码仓。(注:为什么这么分,可以参考之前的一篇文章《​​Android模块化开发实践​​​》)二、痛点完全隔离的代码仓,使每个模块更独立,更易于代码管理,但也带来了一些问题。1、开发阶段,子仓开发以及集成开发调试,操作麻烦、易出错、难跟踪回溯1.1、当开发时涉及的模块较多时,需要手动一个一个拉代码,多个子仓的代码操作非常麻烦,并且

vivo版本发布平台:带宽智能调控优化实践-平台产品系列03

一、背景伴随着互联网地兴起,很多企业都经历过互联网野蛮生长的一段岁月。然而,在互联网市场逐步成熟稳定之后,各大企业在业务上的增长速度逐渐放缓,也纷纷开始“对内挖掘成本方面”的产出,对成本做更加精细化的管控,提升企业的竞争力。特别是随着“互联网寒冬”的来临,“冷气”传导到各行各业,“降本增效”的概念也纷纷被重新提起。有拉闸限电的,扣成本扣细节;也有大规模裁员一刀切的,淘汰部分业务,压缩人力;还有些团队直接组建横向团队,通过顶层思维,在不影响团队运作的情况下,专攻核心成本技术难题,保障降本效果。本文,基于作者在CDN带宽利用率优化方面的实践,跟大家分享一下我们的降本思路和实操方法。“降本增效”作为

vivo版本发布平台:带宽智能调控优化实践-平台产品系列03

一、背景伴随着互联网地兴起,很多企业都经历过互联网野蛮生长的一段岁月。然而,在互联网市场逐步成熟稳定之后,各大企业在业务上的增长速度逐渐放缓,也纷纷开始“对内挖掘成本方面”的产出,对成本做更加精细化的管控,提升企业的竞争力。特别是随着“互联网寒冬”的来临,“冷气”传导到各行各业,“降本增效”的概念也纷纷被重新提起。有拉闸限电的,扣成本扣细节;也有大规模裁员一刀切的,淘汰部分业务,压缩人力;还有些团队直接组建横向团队,通过顶层思维,在不影响团队运作的情况下,专攻核心成本技术难题,保障降本效果。本文,基于作者在CDN带宽利用率优化方面的实践,跟大家分享一下我们的降本思路和实操方法。“降本增效”作为

vivo 短视频用户访问体验优化实践

一、背景我们平时在看抖音快手视频的时候,如果滑动到某个视频画面一直几s不动的时候,大概率就会划走了,所以在短视频项目中,画面卡顿是非常影响用户体验的,启播速度越快,就越能留住用户。启播速度简单来说就是从调用开始播放到首帧上屏的时间,大致可分为两部分:视频文件下载耗时视频解码耗时本文主要从运维排查问题的角度,从网络这部分的各个环节入手,结合vivo短视频的具体案例,给大家分享下优化过程。二、用户访问链路我们先梳理下一次完整的网络请求过程,以客户端视角为例,如下图所示:在接入CDN的情况下,可分为几个阶段:DNS域名解析:获取服务器的IP地址。TCP连接建立:与服务器IP建立连接即tcp三次握手。

vivo 短视频用户访问体验优化实践

一、背景我们平时在看抖音快手视频的时候,如果滑动到某个视频画面一直几s不动的时候,大概率就会划走了,所以在短视频项目中,画面卡顿是非常影响用户体验的,启播速度越快,就越能留住用户。启播速度简单来说就是从调用开始播放到首帧上屏的时间,大致可分为两部分:视频文件下载耗时视频解码耗时本文主要从运维排查问题的角度,从网络这部分的各个环节入手,结合vivo短视频的具体案例,给大家分享下优化过程。二、用户访问链路我们先梳理下一次完整的网络请求过程,以客户端视角为例,如下图所示:在接入CDN的情况下,可分为几个阶段:DNS域名解析:获取服务器的IP地址。TCP连接建立:与服务器IP建立连接即tcp三次握手。

vivo霍金实验平台设计与实践-平台产品系列02

一、前言互联网企业经历过野蛮生长的开拓红利期之后,逐渐越发重视产品发展的科学化、精细化,从粗放型向集约型转换。在美国,增长黑客等数据驱动增长的方法论,正在帮助如Google、Microsoft、Facebook等全球科技巨头实现持续的业务增长;在国内,数据精细运营、AB实验分析来驱动业务有效增长也逐渐成为共识,成为核心手段。其中,A/B测试平台作为典型代表,自然成为了国内主流公司中必不可少的核心工具,有效的提升流量的转化效率和产研的迭代效率。在过去几年,vivo互联网持续重视科学的实验决策,这意味着所有对用户的改动的发布,都要决策者以相应的实验结论作为依据。比如,修改顶部广告的背景色、测试一个

vivo霍金实验平台设计与实践-平台产品系列02

一、前言互联网企业经历过野蛮生长的开拓红利期之后,逐渐越发重视产品发展的科学化、精细化,从粗放型向集约型转换。在美国,增长黑客等数据驱动增长的方法论,正在帮助如Google、Microsoft、Facebook等全球科技巨头实现持续的业务增长;在国内,数据精细运营、AB实验分析来驱动业务有效增长也逐渐成为共识,成为核心手段。其中,A/B测试平台作为典型代表,自然成为了国内主流公司中必不可少的核心工具,有效的提升流量的转化效率和产研的迭代效率。在过去几年,vivo互联网持续重视科学的实验决策,这意味着所有对用户的改动的发布,都要决策者以相应的实验结论作为依据。比如,修改顶部广告的背景色、测试一个

Spark SQL 字段血缘在 vivo 互联网的实践

 作者:vivo互联网服务器团队-HaoGuangshi一、背景字段血缘是在表处理的过程中将字段的处理过程保留下来。为什么会需要字段血缘呢?有了字段间的血缘关系,便可以知道数据的来源去处,以及字段之间的转换关系,这样对数据的质量,治理有很大的帮助。SparkSQL相对于Hive来说通常情况下效率会比较高,对于运行时间、资源的使用上面等都会有较大的收益。平台计划将Hive任务迁移到SparkSQL上,同时也需要实现字段血缘的功能。二、前期调研开发前我们做了很多相关调研,从中得知Spark是支持扩展的:允许用户对SparkSQL的SQL解析、逻辑计划的分析和检查、逻辑计划的优化、物理计划的形成等进