当前位置: 首页 > 编程日记 > 正文

专访小邪:从十年技术之路看阿里技术体系的变革

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

摘要: 从2008年到2018年,从阿里巴巴中间件团队到飞天八部——小邪与阿里的十年。

编者按:从2008年到2018年,从阿里巴巴中间件团队到飞天八部——小邪与阿里的十年。

2008年4月,小邪正式入职阿里巴巴,首次接触淘宝商城项目开启了其十年的阿里技术生涯,去年12月加入阿里云,任飞天八部掌门人。本文邀请到小邪进行了专访,就其在阿里十年的经历进行了深入的访谈,此外他还分享了阿里的技术发展史以及他的职业生涯感悟。

阿里云研究员、飞天八部掌门人蒋江伟(花名:小邪),原阿里巴巴中间件团队负责人。

一切从淘宝商城谈起

小邪加入阿里正值淘宝商城(现天猫)公测阶段,而这也是他来到阿里的第一个项目。这几乎是一个和淘宝并行的项目,工程之浩大可想而知,当时小邪主要负责品牌导购,即淘宝上的品牌页,通俗点说就是,用户可以根据字母(例如耐克、阿迪达斯等等)顺序筛选品牌。

对于外界而言,鉴于阿里巴巴在电商领域扎根多年的经历,要复制淘宝的成功看似并非难事。但事与愿违,早期的淘宝商城表现并不尽如人意。

“2008年正是电商快速膨胀的阶段,整个行业都呈现出较为浮躁的氛围,不断有巨头进入,也不断有公司倒下”,小邪如此回忆。

而在这样的大环境下,淘宝商城的问题很快凸显出来,整个网站的流量持续走低。在小邪看来,淘宝商城业务不理想的原因主要有两个:一是商品进入门槛非常高;二是淘宝的流量无法分流。因为淘宝商城和淘宝完全独立,除了会员数据之外,所有的系统都是独立的,包括商品、交易、积分、商品管理甚至还有论坛全部是独立的两套体系。

淘宝是按照商品纬度来展现商品,淘宝商城的结构则是按照SPU纬度展现的。只要是技术能解决的问题都不是问题。在淘宝商城整体业绩表现不佳之后,两个团队的负责人很快便开始规划将两个平台的数据打通,内部称这个项目为“五彩石”,这距离小邪第一个项目完成才短短数月。

“我在这里面主要承担了几个事情:一是重建原来的导购系统,以打通淘宝和淘宝商城的底层;二是与搜索团队对接;三是负责商品管理方面的研发工作,例如商品的上下架、补货等等。” 五彩石项目从2008年10月开始,历时半年才正式完成。

无论是对小邪个人还是对阿里巴巴而言,五彩石项目都极具意义,它把淘宝和淘宝商城彻底打通,并且是首次在整个架构层面引入中间件,并对整个系统进行了分布式化的改造。小邪坦言,在此之前,由于业务体量大、需求变更频繁,导致项目整体的研发效率非常低,而且在数据库上还是采用传统的IOE架构,也带来了很多复杂性问题,中间件的应用很好地解决了这些问题。

“五彩石项目为天猫后续的发展奠定了坚实的基础,也奠定了今天的系统架构;对我个人而言,这个项目也让我对整个电商系统有更深的理解。”

技术进阶:全链路压测和双十一

当然,这仅仅是开始。淘宝商城业务的高速增长又给整个技术体系带来了新的问题。

小邪表示,分布式系统的应用对稳定性的挑战非常大,简单来看,保持稳定性需要做监控、流量规划、服务治理等等很多事情,而这些产品后来都成为了阿里巴巴集团的整个稳定性的基础设施。

“我印象最深刻的就是2013年开始做全链路压测。”

以双十一为例,全链路压测就是模拟双十一的流量以及用户规模,通过模拟这样复杂的场景来监测错误并且提前解决。2013年,淘宝商城的体量急剧增长给分布式系统带来了很多复杂的问题,而在当时来看,做全链路压测技术是最有效的解决方案:它可以合理规划系统流程,可以让集群的资源被充分利用,用最少的资源具备最高的流量水位。

“但我们在2013年把这些问题都有效地解决了,所以2013年的双十一表现得非常好”,这也是技术的核心价值所在。

风云十年:历数阿里技术体系变革

2008年入职阿里,到2012年执掌中间件团队,再到如今的阿里云飞天八部负责人,小邪的角色在不停转变,整个阿里技术体系这十年更是迎来了翻天覆地的变革,在他看来,主要有三个变化:

  • 第一个变化是从开源到自研。阿里从大量使用开源技术到越来越多的自研技术,因为开源技术不管是从代码质量、还是功能需求上都难以满足业务需求,所以团队必须要有很强的自研能力。当然,到自研之后团队又做了很多开源,来使产品运行得更好。
  • 第二个变化是从烟囱式架构到分布式架构。随着业务规模的增长,分布式是必然,今天没有一台服务器、一个系统能够支持如此大的计算能力。
  • 第三个变化是从追求合格到追求极致。阿里在不断地推动技术进步,并在落地过程不断应用完善。不论是云计算,还是团队正在研发的IaaS、数据库、服务器、业务系统等等,它都是一个不断迭代生长的过程,在领域内追求极致创新。

技术成长:角色转变也是职责转变

在阿里云意味着更贴近客户,这对小邪来说是最大的改变。

“以前在中间件团队,产品以及团队磨合都比较成熟了,因此我们的关注点都聚焦在每年双十一的挑战上。但是在阿里云,我们会面对各种需求,并且要求我们通过产品去呈现——这个是很大的区别”,小邪认为,阿里云既是一个技术团队也是一个商业团队,这是非常本质的区别,需要不断通过客户反馈的需求来对产品进行优化。而整个需求的反馈到响应,都需保持通畅。

但对小邪而言,经历这样的转变并没有水土不服,无论是在中台的中间件团队还是更贴近业务的阿里云,不变的是大家都有共同的使命跟愿景,以及对创新的极致追求。在阿里云的这半年时间里,这支团队的战斗力也超出了他的预期。“阿里云团队的整体技术实力非常强,团队经过多次锤炼对市场的敏锐度都非常出色,这个团队的战斗力非常强。”

阿里云飞天八部对外输出了弹性计算、数据库、网络以及存储等核心业务,毫不夸张的说,这也许是小邪近十年最大的一次战役。对此,小邪认为团队接下来主要做三件事:第一是去解决客户痛点;第二个是提升产品竞争力,提升产品性价比、稳定性等指标;第三是持续引进云计算方面的顶级人才。

“我不希望团队去盲目追逐热点,对于研发团队来讲,专注于技术是最核心的任务。”

后记

小邪是一个谦卑柔和、极易相处的技术大神,在采访过程中,小邪多次强调技术人应当认真、谦虚、自我学习、并且保持自信。此外,尽管在阿里云工作的节奏很快,但他从未忽视对家庭的责任担当。

“在工作之余也要处理好家里的事情,我会把工作中一些有成就感的事、有趣的事都分享给他们。”

原文链接

转载于:https://my.oschina.net/u/3735980/blog/1810169

相关文章:

PHP SPL笔记

PHP SPL笔记作者: 阮一峰日期: 2008年7月 8日这几天,我在学习PHP语言中的SPL。这个东西应该属于PHP中的高级内容,看上去很复杂,但是非常有用,所以我做了长篇笔记。不然记不住,以后要用的时候&am…

算力超越 iPhone,芯片堪比Mac,网友:“买来能干啥?”

整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)自去年“元宇宙”概念突然爆火,作为其“入门钥匙”的 AR/VR 设备也顺势成为了话题焦点,尤其在多家外媒爆料苹果也在为此发力、甚至从 Meta 挖人以争取在 2022 年正式推出时&…

ios开发日记- 5 屏幕截图

-(void)fullScreenshots{UIWindow *screenWindow [[UIApplication sharedApplication] keyWindow]; UIGraphicsBeginImageContext(screenWindow.frame.size);//全屏截图,包括window [screenWindow.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage …

MaxCompute助力OSS支持EB级计算力

一、 MaxCompute是什么? 你的OSS数据是否作堆积在一旁沉睡已久,存储成本变为企业负担?你是否想唤醒沉睡的数据,驱动你的业务前行?MaxCompute可以帮助你高效且低成本的解决这些问题,通过对海量数据进行分析和…

php自动加载

很多开发者写面向对象的应用程序时对每个类的定义建立一个 PHP 源文件。一个很大的烦恼是不得不在每个脚本(每个类一个文件)开头写一个长长的包含文件列表。 在 PHP 5 中,不再需要这样了。可以定义一个 __autoload 函数,它会在试…

22个案例详解 Pandas 数据分析/预处理时的实用技巧,超简单

作者 | 俊欣来源 | 关于数据分析与可视化今天小编打算来讲一讲数据分析方面的内容,整理和总结一下Pandas在数据预处理和数据分析方面的硬核干货,我们大致会说Pandas计算交叉列表Pandas将字符串与数值转化成时间类型Pandas将字符串转化成数值类型Pandas当…

《mysql性能调优与架构设计》笔记: 一mysql 架构组成

2019独角兽企业重金招聘Python工程师标准>>> 2.1mysql物理文件组成 2.1.1日志文件: 1,查看mysql配置文件:mysql --verbose --help | grep -A 1 Default options; 1,错误日志:--log-error[file_name] 指定错…

发现一个可以搜索常用rpm包的地址(http://www.rpmfind.net/)

http://www.rpmfind.net/ 虽然资源不多&#xff0c;但也够用。 >如有问题&#xff0c;请联系我&#xff1a;easonjim#163.com&#xff0c;或者下方发表评论。<

PHP版UTF-8文件BOM自动检测移除程序

BOM信息是文件开头的一串隐藏的字符&#xff0c;用于让某些编辑器识别这是个UTF-8编码的文件。但PHP在读取文件时会把这些字符读出&#xff0c;从而形成了文件 开头含有一些无法识别的字符的问题。比如用UTF-8格式保存的生成图片的PHP文件&#xff0c;因为文件头隐藏的BOM信息也…

java: web应用中不经意的内存泄露

前面有一篇讲解如何在spring mvc web应用中一启动就执行某些逻辑&#xff0c;今天无意发现如果使用不当&#xff0c;很容易引起内存泄露&#xff0c;测试代码如下&#xff1a; 1、定义一个类App package com.cnblogs.yjmyzz.web.controller;import java.util.Date;public class…

「游戏圈地震级消息」687亿美元,微软收购游戏巨头动视暴雪

整理 | 苏宓、禾木木 出品 | CSDN 2022年1月18日晚&#xff0c;一条热搜刷爆了朋友圈&#xff1a; 继 2018 年&#xff0c;微软以 75 亿美元收购全球知名的代码托管平台 GitHub 后&#xff0c;2022 年 1 月 18 日&#xff0c;微软将以 687 亿美元的价格收购著名游戏制作和发行公…

java实现用户登录注册功能(用集合框架来实现)

需求&#xff1a;实现用户登录注册功能(用集合框架来实现) 分析&#xff1a; A:需求的类和接口 1.用户类 UserBean 2.用户操作方法接口和实现类 UserDao UserDaoImpl 3.测试类 UserTest B:各个类中的东西 1.用户类UserBean: …

第3次翻译了 Pandas 官方文档,叒写了这一份R万字肝货操作!

作者 | 黄伟呢来源 | 数据分析与统计学之美今天&#xff0c;我继续为大家讲述Pandas如何实现R语言的相关操作。由于 Pandas 旨在提供人们使用 R 进行的大量数据操作和分析功能&#xff0c;因此本页开始提供更详细的 R 语言及其与 Pandas 相关的许多第三方库的介绍。与 R 和 CRA…

PHP autoload机制详解

PHP autoload机制详解 转载自 jeakcccPHP autoload机制详解(1) autoload机制概述在使用PHP的OO模式开发系统时&#xff0c;通常大家习惯上将每个类的实现都存放在一个单独的文件里&#xff0c;这样会很容易实现对类进行复用&#xff0c;同时将来维护时也很便利。这 也是OO设计…

有关博客的一些断想

作者&#xff1a;朱金灿来源&#xff1a;http://blog.csdn.net/clever101随着微博、微信等短平快社交媒体的兴起&#xff0c;文字相对严肃的博客毫无疑问受到很大的冲击。我在想博客会不会因此而消亡呢。我相信不会&#xff0c;因为喜欢轻快的文字固然是人类的天性&#xff0c;…

pythonl学习笔记——爬虫的基本常识

1 robots协议 Robots协议&#xff08;也称为爬虫协议、机器人协议等&#xff09;的全称是“网络爬虫排除标准”&#xff08;Robots Exclusion Protocol&#xff09;&#xff0c;网站通过Robots协议告诉搜索引擎哪些页面可以抓取&#xff0c;哪些页面不能抓取。 如&#xff1a; …

hibernate相关收集

2019独角兽企业重金招聘Python工程师标准>>> 1、Hibernate SQL方言 如果出现如下错误&#xff0c;则可能是Hibernate SQL方言 (hibernate.dialect)设置不正确。 Caused by: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]last_ins…

盘一盘 2021 年程序员们喜欢的网站数据

作者 | 周萝卜来源 | 萝卜大杂烩世界上流量最大的网站有哪些&#xff0c;也许我们都能脱口而出&#xff0c;比如 Google&#xff0c;YouTube&#xff0c;Facebook 还有 PxxnHub 等等&#xff0c;今天我们就通过多个维度来看看&#xff0c;那些叱咤全球的流量网站&#xff01;数…

烽火18台系列之十一:刚需中的刚需——网站篡改监控

网站篡改事件近些年来越演越烈&#xff0c;其中包括政府、教育、金融、事业企业单位等。根据国家互联网应急响应中心发布的《2015年中国互联网网络安全报告》中指出&#xff0c;“2015年CNCERT/CC工检测到境内被篡改的网站数量为24550个&#xff0c;其中境内政府网站篡改数量为…

Http与RPC通信协议的比较

OSI网络结构的七层模型 各层的具体描述如下&#xff1a;第七层&#xff1a;应用层 定义了用于在网络中进行通信和数据传输的接口 - 用户程式&#xff1b;提供标准服务&#xff0c;比如虚拟终端、文件以及任务的传输 和处理&#xff1b; 第六层&#xff1a;表示层 掩…

基于 Python 和 OpenCV 构建智能停车系统

作者 | 努比来源 | 小白学视觉当今时代最令人头疼的事情就是找不到停车位&#xff0c;尤其是找20分钟还没有找到停车位。根据复杂性和效率的不同&#xff0c;任何问题都具有一个或多个解决方案。目前智能停车系统的解决方案&#xff0c;主要包括基于深度学习实现&#xff0c;以…

js获取鼠标位置

1.PageX/PageX:鼠标在页面上的位置,从页面左上角开始,即是以页面为参考点,不随滑动条移动而变化2.clientX/clientY:鼠标在页面上可视区域的位置,从浏览器可视区域左上角开始,即是以浏览器滑动条此刻的滑动到的位置为参考点,随滑动条移动 而变化. 可是悲剧的是,PageX只有FF…

Lua保留指定小数位数

默认会四舍五入 比如&#xff1a;%0.2f 会四舍五入后&#xff0c;保留小数点后2位print(string.format("%.1f",0.26)) ---会输出0.3&#xff0c;而不是0.2 Lua保留一位小数 --- nNum 源数字 --- n 小数位数 function Tool. GetPreciseDecimal(nNum, n)if type(nNum)…

htaccess文件用法收集整理

1.时区设置有些时候&#xff0c;当你在PHP里使用date或mktime函数时&#xff0c;由于时区的不同&#xff0c;它会显示出一些很奇怪的信息。下面是解决这个问题的方法之一。就是设置你的服务器的时区。你可以在这里找到所有支持的时区的清单。 1.SetEnv TZ Australia/Melbourne …

手把手教你使用 YOLOV5 训练目标检测模型

作者 | 肆十二来源 | CSDN博客这次要使用YOLOV5来训练一个口罩检测模型&#xff0c;比较契合当下的疫情&#xff0c;并且目标检测涉及到的知识点也比较多。先来看看我们要实现的效果&#xff0c;我们将会通过数据来训练一个口罩检测的模型&#xff0c;并用pyqt5进行封装&#x…

数据仓库数据模型之:极限存储--历史拉链表

摘要: 在数据仓库的数据模型设计过程中&#xff0c;经常会遇到文内所提到的这样的需求。而历史拉链表&#xff0c;既能满足对历史数据的需求&#xff0c;又能很大程度的节省存储资源。在数据仓库的数据模型设计过程中&#xff0c;经常会遇到这样的需求&#xff1a;1. 数据量比较…

super的用法(带了解)

super的用法&#xff08;带了解&#xff09; super的用法&#xff08;带了解&#xff09;posted on 2018-05-11 21:31 leolaosao 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/leolaosao/p/9026686.html

Posted content type isn't multipart/form-data

版权声明&#xff1a;欢迎转载&#xff0c;请注明沉默王二原创。 https://blog.csdn.net/qing_gee/article/details/48712507 在有文件上传的表单提交过程中&#xff0c;搞不好就会报Posted content type isnt multipart/form-data的错误。 解决办法 <form class"form-…

CSDN 十大技术主题盘点-AI篇

关于2021&#xff0c;我们能看到的技术变化有很多。当云原生向下而生&#xff0c;当分布式数据库席卷而至&#xff0c;当低代码平台扩展了开发的边界&#xff0c;当万物互联蔚然成风……我们看到了太多在2021年形成的变化&#xff0c;但也能看到这些趋势非但没有结束&#xff0…

PHP编程问题集锦

1. Win32下apache2用get方法传递中文参数会出错 test.php?a你好&b你也好传递参数是会导致一个内部错误解决办法:"test.php?a".urlencode(你好)."&b".urlencode(你也好)2. win32下的session不能正常工作 php.ini默认的session.save_path /tmp 这…