写点什么

京东刘海锋:过去十年架构领域最重要的三个变化

  • 2019-04-28
  • 本文字数:2830 字

    阅读完需:约 9 分钟

京东刘海锋:过去十年架构领域最重要的三个变化

自从大学时将操作系统内核作为研究方向后,刘海锋就和分布式系统结下了不解之缘。


从分布式存储、图片系统,到中间件体系、容器平台、新一代弹性数据库、异地多活项目等等,刘海锋的职业生涯大多在与基础架构打交道。


他毕业后历经百度、外企、创业公司,然后在 13 年加入京东。参加工作十年后,刘海锋已是京东零售首席架构师兼技术副总裁,这个速度在一般程序员中显得非同寻常。为什么他成长这么快呢?在他眼里的架构又是什么样的呢?


00:00 / 00:00
    1.0x
    • 3.0x
    • 2.5x
    • 2.0x
    • 1.5x
    • 1.25x
    • 1.0x
    • 0.75x
    • 0.5x
    网页全屏
    全屏
    00:00

    成长经历

    从中国科技大学研究生毕业后,刘海锋工作的第一站是百度。在百度的时候,他参与开发了一个新型的存储系统。然而系统上线之后,发现了一个 bug,它会概率性的把一些数据弄错几个比特,这对于作为整个架构基石的存储系统来说是不可接受的。


    刘海锋回忆说,当时这 bug 出现之后整个团队压力都特别大,然而问题太隐蔽,想要短时间修复很困难,但如果因此而将系统下线的话,整个团队的工作都将受到影响。为了定位问题,他从早上的九点多一直工作到第二天的凌晨三四点,竟然把 bug 定位出来并修复掉了,避免了系统回滚。


    这个事情一直影响了刘海锋之后的整个工作生涯,遇到什么问题他的态度不是回避,而是要迎难而上,一口气把它解决掉。


    2014 年 8 月,刘海锋在京东开始带领团队做内部弹性云平台的研发,当时他做了一个略显激进的决定,用 OpenStack 来管理 Docker,让大部分系统和应用都运行在刚发布一年多、稍显稚嫩的容器里。



    这个激进还体现在他后来对数据中心操作系统 JDOS 升级的技术选型,2016 年初,容器已经被大家所接受,但容器编排花落谁家尚无定论,在大家还在观望的时候,刘海锋选择了 Kubernetes,将其作为第二代 JDOS 的基石。这让京东在很早就积累了运维大规模 Kubernetes 集群的经验,京东的 Kubernetes 经验也被 CNCF 官方作为案例分享。2018 年 4 月,京东应邀加入 CNCF,刘海锋也成为代表京东的 CNCF 全球理事会成员。


    不过,虽然在外人看来一些技术决策略显激进,但刘海锋本人并不这么认为,他觉得自己只是在正确的时间做了正确的选择。比如为什么用 Docker 替代 VM,主要是基于在内部的环境里面,隔离性和安全性并不是第一位的需求,而容器镜像带来的敏捷、高性能,以及运维的便利,恰好是他们所需的。因为对 Linux 内核、分布式系统有深刻的理解,所以他能在第一时间理解 Docker 和 Kubernetes 的优势,并且认定它们是未来的发展趋势。


    2016 年的双 11,刘海锋第一次担任京东大促的整体技术协调,这是涉及到公司上上下下,数十个部门和数千人的大规模作战。这让他对架构与公司业务的关系有了更深的理解。他认识到,大促的备战其实是一个综合性的系统工程,这里面需要很多技术的手段,也需要各条产品线各条技术线所有人去协同工作,在做架构设计的时候,要考虑到尽可能多的人的需求,然后在其中做平衡取舍。


    随着负责的团队逐渐增大,刘海锋在管理方面的所花的时间越来越多,但他仍然没有离开技术的一线。他平时会跟团队骨干一起来商定一些重要系统的架构设计,并且定期对关键项目做复盘和 review,也会投身一线和同事一起去处理线上出现的重要问题。 为了更好的做出技术规划,刘海锋会经常研读最新的一些学术论文。他也鼓励团队在国际会议上发表论文,与同行交流,然后把最前沿的理论和方法运用到实际项目中去。

    架构十年

    过去的十年,刘海锋与架构一同成长。他认为,架构领域经历了快速演进的十年。架构领域在整个互联网的技术栈是偏底层的,但过去十年架构领域的演进速度,一点都不亚于应用开发,甚至移动端开发的速度。比如容器,新型的数据库,新型的中间件,大规模集群的调度,以及系统跟算法的结合,在很多方面都出现了新的变化,甚至是出现了里程碑式的进步。


    在具体的变化方面,刘海锋列举了三点,第一点是容器。把所有的东西都放在容器里,这是以前从没有过的。到今天,我们不光把应用的部署放在容器里,很多有状态的服务,包括缓存,数据库大数据的一些计算任务我们也都放在容器里,统一的编排调度和执行。这极大的简化了运维的复杂性,同时也让数据中心整体的资源使用率提升。


    第二点是数据库。数据库作为基础架构非常核心的组成部分,在过去的十年间里面有一个显著的特点是从大一统的一元的数据库逐渐走向多元,逐渐的走向为不同的应用场景而定制。


    十年前,我们能想到的数据库,更多的是商用数据库。但到今天任何上规模的互联网公司,甚至传统行业,都可能需要多元的数据库技术来解决数据管理问题。以电商为例,一般来说会用 MySQL 以及 MySQL 的中间件,作为最关键的结构化存储,但同时会配上内存 KV Store 做加速、用检索型数据库做全文检索,用时间序列数据库做海量数据的监控采集和分析,等等。从 DB 底层核心技术来看,跨地域复制且强一致复制、计算与存储分离、从以磁盘为中心到以内存为中心,是三个非常显著的技术变迁。


    第三点,系统跟算法的结合越来越紧密,系统跟算法一起形成一家公司的技术的基石,系统相当于是骨架,而算法给骨架注入了灵魂。



    举两个简单的例子。第一个,很多大规模的分布式系统需要自动化的运维。在打造自动化运维的过程中,时间序列的分析与预测,根因分析等等发挥了重要的作用,这里面需要算法的力量。第二点,对于大规模的数据中心里面整体的资源调度,这需要非常强的调度的算法,以及预测算法去改进容器在整个数据中心的分配策略,调度算法的改进所带来的成本收益都是非常显著的。所以说,近年来,在架构领域,大规模分布式系统和一些实用算法工程,两者结合非常紧密。

    架构的未来

    最近这两年,刘海锋也经常思考架构的未来。软件架构,唯一不变的就是变化,但变化又分成了波动与趋势,所以对趋势的把握显得尤为重要,所谓架构,不仅要解决现在的问题,更加需要对未来趋势有深刻的理解与把握。


    在这方面,刘海锋给我们分享了两点,第一个是架构智能化(Architecture with Intelligence & Architecture for Intelligence)。他认为在接下来几年,架构的智能化会成为现实。 一方面,算法或 AI 技术跟大规模系统架构的结合会更加紧密,甚至会催化很多分布式系统的一些变革,机器学习算法的应用也会让很多大系统的运维和应用更加的简单。另一方面,AI 的工业级应用也需要有力的底层架构支撑,比如高性能的机器学习框架,大规模特征向量的检索匹配系统,等等。



    第二点是混合多云,或者说,从更大的层面,让应用开发者忘记数据中心,忘记基础设施建设将成为现实。从这个角度来说,甚至可以叫 Datacenter-less。接下来 5 到 10 年,很多大中型企业,他们重要的业务一定会横跨自己的数据中心和不同云服务商的数据中心。一定会有框架出现来屏蔽底层的这些差异与复杂性,让大家像编排机器编排数据中心那样编排多个云。回顾整个行业,我们可以看到,Google 等公司已经着力开始开展这方面的工作与业务。


    具体到一些实际的一些技术框架方面,刘海锋会持续关注和研究目前的一些热门前沿技术,比如说 serveless、Service Mesh,各种新型的数据库软件等等。总之,未来架构将使得应用的开发更加简单,也更加人性化。


    2019-04-28 17:249626
    用户头像
    二叉树视频 InfoQ旗下短视频品牌

    发布了 98 篇内容, 共 33.2 次阅读, 收获喜欢 185 次。

    关注

    评论

    发布
    暂无评论
    发现更多内容

    高防服务器选择注意的三大方面

    九河云安全

    体验百度EasyEdge,畅快部署超多AI芯片

    百度大脑

    人工智能 飞桨

    驶向未来之海的“必备罗盘”:百度智能云升级发布全新智能化中台

    百度大脑

    人工智能 企业服务

    高亮的架构毕业总结

    高亮

    架构训练营

    Cocos Creator v3.2 正式支持 HarmonyOS 多设备协同能力

    科技汇

    鬼知道我这一年是怎么过来的?Java 开发从二面被拒到收割阿里架构 offer!

    Java 编程 面试 IT 计算机

    2021 年最全Java架构面试点+技术点标准手册:完全对准一线大厂,猛攻!

    Java 编程 面试 IT 计算机

    IM开发干货分享:网易云信IM客户端的聊天消息全文检索技术实践

    JackJiang

    全文检索 即时通讯 IM

    应对极端天气,百度智能云推出城市内涝智能监测预警系统

    科技热闻

    架构学习总结

    c

    架构实战营

    WICC 2021 技术分论坛 “开箱即用”语聊房Demo成亮点

    融云 RongCloud

    ONES x 知名游戏公司 | 持续快速交付高质量游戏产品

    万事ONES

    研发管理 解决方案

    FastApi-03-查询参数

    Python研究所

    FastApi 8月日更

    香港服务器流量选择,该如何选择?高防服务器租用防御多少G合适呢?

    九河云安全

    外包三年经验,耗时半年进大厂,整合出 25W 字 Java 全栈面试题,把初心分享出来!

    编程 架构 面试 IT 计算机

    NLP随笔(一)

    毛显新

    人工智能 自然语言处理 深度学习

    互联网通信云崛起的“融云曲线”

    融云 RongCloud

    科技融合:Hightopo受邀参加厦门公安科技活动周

    一只数据鲸鱼

    数据可视化 智慧公安 智能化 安全态势

    面试官:你说说一条查询SQL的执行过程

    艾小仙

    1个月学会Java开发!2021年最新Java面试点梳理

    策划Java工程师

    Java 程序员 后端

    258W 字 Java 全栈面试题!实锤:阿里架构师耗时半年整合而来!

    Java 编程 架构 面试 计算机

    百度大脑FaceID人脸识别模型量化技术,确保算法精度无损加速一倍

    百度大脑

    算法 人脸识别 精度

    LeetCode题解:173. 二叉搜索树迭代器,递归,JavaScript,详细注释

    Lee Chen

    算法 大前端 LeetCode

    面试官:你了解Java中的锁优化吗?

    程序员阿杜

    Java 面试 JVM 同步 8月日更

    容器和虚拟机水火不容?不存在的!

    谐云

    万字深入HarmonyOS ACE UI框架解析,带你看懂UI渲染流程

    科技汇

    高防云服务器 VS 云服务器

    九河云安全

    3000人群被字节内部技术图谱“炸”翻了,惊艳级实用

    Java架构师迁哥

    微前端在平台级管理系统中的最佳实践

    中原银行

    2021Java春招面试真题:记一次蚂蚁金服Java研发岗的面试经历

    策划Java工程师

    Java 程序员 后端

    阿里P8架构师又传喜讯!最新产出 Java 架构师 1575 道“完美圣经”,汇总十家互联网大厂面试题!

    Java 编程 IT 计算机 知识

    京东刘海锋:过去十年架构领域最重要的三个变化_架构_二叉树视频_InfoQ精选文章