阿里云全球首批MVP杨绣专访:技术要坚持刨根问底
自我介绍
我现在在人人车负责数据架构方面的工作,搭建数据采集、抓取、存储、计算、BI可视化等系统。
之前在百度网页搜索部,是一名架构工程师(主要在抓取业务),技术方向是高并发分布式服务架构,负责大抓取系统内的架构模块研发。
涉及高并发抓取器、链接缓存、压力控制、时效性筛选等子系统。
工作的主要目标是系统性能优化、稳定性提升,为策略算法应用提供舒适的架构,这也是我自认为比较擅长的。
使用阿里云产品过程中,我提过很多工单,包括系统bug、易用性问题、功能建议。因为喜欢刨根问底,不满足于“重启一下”、“再试一次”之类的临时性解决方法,我会很认真地描述使用场景、异常现象和可能的原因,要求客服和后台研发继续分析给出明确原因。
这一点对阿里云改进产品体验有一些帮助。
人人车和MaxCompute(原ODPS)的磨合和共同成长
早期,人人车的报表系统是使用RDS(MySQL)+ECS搭建而成,因为当时系统数据量很小,所以运行一段时间比较稳定。
随着业务数据量变大,系统物理指标报警越来越多,我们需要经常给RDS增配,逐渐发现RDS实例每月也要花不少钱了,所以考虑将数据计算部署到可扩展性更好的计算平台上。
当时考虑Oracle和Hive两种方案。按当时我们的业务场景和数据规模来看,Oracle完全能够胜任,但是考虑到未来数据增长、Oracle维护成本较高,我们也不熟悉Oracle,所以直接就否掉了这个选项。
而Hive非常符合我们的技术背景,团队里很多人以前就用过,Hive SQL语法也非常简单易学,可扩展性也很好。当时了解到阿里云有和Hive类似的数据平台MaxCompute(原ODPS),所以就安排时间试用了一下。
试用MaxCompute(原ODPS)前其实心里还是倾向于Hive,因为作为Hadoop生态的开源平台开放性更好,我们也有相关经验。我们参考网站的MaxCompute(原ODPS)帮助文档,经过几个小时的了解和体验,没有什么不适的感觉,和Hive类似的语法、存储方式、计算模型,但不需要我们自己部署、运维。
不足之处是不能支持我们的一些实时数据场景。
综合考虑后,我们决定使用Maxcompute搭建数据仓库,作为数据存储和计算的平台,实时性场景另行解决。阿里云当时还有另一款产品-DPC(采云间)是一套针对MaxCompute的SQL-IDE、任务管理和运维监控的web平台。
通过采云间,我们可以
1. 在网页上通过点选、拖拽设置定时同步任务,把Mysql的数据拉到MaxCompute的表格,操作比较方便;
2. 编写SQL代码实现业务统计逻辑;
3. 再设置同步任务将计算结果推送到我们BI系统的Mysql中。
后来采云间停止维护,数加·大数据开发套件Data IDE。
使用MaxCompute(原ODPS)(+采云间+数加)早期确实是遇到了很多问题,一些局部性的问题能够得到客服和技术支持及时处理和修复,比如一些可稳定复现的bug,而不易复现但出现频率很高的问题让人非常困扰。
工单沟通不能让那一边的技术人员很好了解我们这边发生了什么问题,后来和数加支持团队建立了定期沟通机制,将双方的技术人员拉到了一个钉钉群能更顺畅地沟通这种难以通过工单描述的现象和复现步骤。
曾经比较刻骨铭心的记忆有两段,一段是关于产品功能的、一段是关于系统稳定性。
从一个平台迁移到另一个平台,我们经历了两次,第一次是将数据任务从RDS迁移到采云间,第二次是从采云间迁移到数加平台。我们的业务系统当时少说也有几百个表,而做这件事只有1或2个人,采云间和数加当时在产品设计上可能没有考虑这种场景,所以从Web页面没有办法批量设置数据上传任务,而通过第三方软件配置的数据上传任务不能和阿里云的任务调度很好地集成在一起。
好在这种迁移并不多,忍一下就好了。听说,年初上线的数据集成模块能够很好地解决这类问题。
2016年5月,我们的数据系统稳定性很差,平均每周一次故障导致任务流中断。每当早上醒来发现数据没有算完,整个一天都会心情很差。
究其原因,
一方面是我们的任务结构设计有缺陷,如数据源变化、任务流依赖过于集中、关键路径缺少监控。
另一方面是MaxCompute(原ODPS)平台异常,如任务队列阻塞、计算资源不足。
我们和阿里云团队当面分析了每次故障的原因,根据阿里云的建议对任务流进行了梳理、调整任务依赖关系,避免依赖过于集中,将不合理的定时触发改为上游任务触发。
使用数加平台的运维系统对关键节点添加了”出错报警”、”未完成报警”,同时也给关键路径的每段SQL代码添加一条统计代码,监控每天核心任务数据量的异常变化;阿里云方面则加强平台监控、优化了异常处理流程。
我们最大的感受是阿里云售后和技术支持团队对用户的问题和反馈非常重视、跟进也非常及时,值得一个大大的赞。
【阿里云花肉酱:阿里云并不完美,希望大家来一起帮助阿里云提升产品体验 https://connect.aliyun.com/】
很荣幸作为阿里云全球MVP,
我认为这是阿里云对我们团队的认可,我们在使用阿里云服务过程中提出的问题和建议,能够帮助更多的用户节省时间提高效率少走弯路
我是杨绣,人人车大数据负责人,我在阿里云MVP等你