以下是本次访谈关键内容的整理。
点击这里可前往“2020阿里双11技术全观”专题查看访谈视频回放
播报员:
*各位开发者朋友们,大家好。欢迎收看我们这一期的双11技术播报栏目,我是你们的播报员莫孤。今天我们依然还是双11技术播报的特别篇,特别邀请了阿里云中间件团队的涯海来参加我们这一期的双11技术播报栏目,他是这一次中间件团队的大队长,带领着中间件团队参加了双11的整个项目,在此过程中肯定有非常多好玩的事情,也会有非常多的技术突破给我们分享。那就让我们来热烈欢迎一下涯海来到我们的直播间。
*
涯海:谢谢莫孤。
播报员:
要不你先跟大家介绍一下自己?
涯海:
我是来自阿里云智能的中间件团队队长涯海。我是一个新人,其实我觉得自己比较新,首先这是我今年第一年当中间件的队长,然后我也是一个毕业不到5年的应届生,所以我认为自己的心态还是比较新的。另外我平时比较喜欢打游戏,应该跟大多数男生是差不多的,并且我玩魔兽世界已经十几年了,可以认为是骨灰级的一个玩家,当然是中间AFK过很多次,比如今年做大促就临时的又AFK了。那正好今年做完(大促)之后,我就准备把我的电脑修一修,再次回到我的艾泽拉斯大陆。 我就介绍这么多。
播报员:
好的,刚刚说到电脑的问题,其实我们采访的另外一位大队长智盛,听说他对这一块特别了解,我觉得你们可以接下来去深度的聊一下电脑怎么修复的事情。今年是涯海正式加入阿里的第5年,但是已经作为大队长带领中间件团队去参加整个双11的项目了,非常的年轻有为。
我想问一下你第一次当大队长是一种什么样的体验呢?
涯海:
首先第一个就是感觉比较刺激,对,因为作为一个BU的大促队长,其实下面(代领)的同学有很多,第一次享受到了呼风唤雨的感觉,当然这是开玩笑的。
其实刺激的背后就是感觉到挑战非常的大,因为中间件的产品非常多,我们有20多款产品,然后核心备战的同学有六七十位,怎么去进行内部的协调,怎么进行这么多产品的协同,然后对外去提供统一的服务,并且我们集团有40多个BU都在用我们中间件的服务,怎么去保证最终大促的稳定性,这是一个非常具备挑战和刺激的一个事,这是第一个感受。
第二个就是感触就是大促是一个超级工程,它是非常复杂并且精密的,从整个CTO到5位集团的大队长,到我们40多个BU的队长,然后层层再到下面的同学,每一层级都是非常严密、严谨,然后每个人的边界又很清晰,但是补位的意识要非常的强,大家既是齿轮,又是一个连接的枢纽。在这个过程中我就是非常幸运的能够从更上层的视角去看到整个集团的从业务到最底层的一些物理设备,比如说网络供应链这类,这个是之前做研发非常不一样的体感,这是第二点感觉。
第三点的话就是做大促其实是痛并快乐着。痛苦是肯定有的,因为做大促非常的辛苦,而且今年双11也非常的长,并且任何一个小的风险点都不能遗漏,因为千里之堤溃于蚁穴,所以我们的工作必须做的非常细致,但是快乐也是前所未有的,有点像什么?比如说我们打篮球,一场可能得了很多球很多分,非常快乐,但是相对来说就没有踢足球的快乐更大,有可能你踢一场下来只能进一个球,就是说一个漫长的努力,最终会到一个巨大的回报,以及非常大的满足感。这个是我个人的一些感触。
播报员:
对,我觉得你刚刚描述的特别地生动形象,用踢足球和打篮球来描述一下参加双11的体感,让我非常的感同身受。
刚刚也有提到说作为队长去带领我们的整个中间件团队参加双11的项目的话,可以从业务上有一个更全面地了解。我想问一下中间件今年是怎么支撑双11的,达到了怎么样的业务结果呢?
涯海:
首先我们会先根据今年业务的目标来确定我们整体的一些打法,比如说今年我们业务的峰值是什么样的,除了峰值之外,会不会有其他的一些核心目标,然后我们会把最重要的目标拆解到中间件的每一个产品,同时结合我们自身的一些产品的技术架构的演进,来提前的去储备我们的技术的力量,这是第一步:确定目标。
第二步就是我们要具体确定我们的核心备战人员,就是有哪些同学,其中老同学有多少,新同学有多少,怎么使得我们大促的经验能够传承,这个是我们要确认的第二点:人员。
第三个就是我们要确定整体的一个流程,比如说我们的客户端升级是在什么阶段,我们的服务端升级、验收,是在什么阶段,压测在什么时候,还有封网,就是说整个的流程我们要能够确定好。
经过目标、人员、打法,最后再按部就班的一步步的实行,当然这些都是计划内的,但是大促有很多突发、应急的风险,这个时候就需要通过我们提前的一些技术风险的管理,包括我们应急的一些预案,然后来进行快速的响应,最终的结果,个人觉得今年是比较满意的,因为今年在1号到11号的11天内基本上是全程零故障,而且我们业务上也取得了一些收获,我们在考拉全站云原生架构升级的项目里面,也取得了非常好的一些新技术的突破和印证。
播报员:
好的,谢谢。刚刚听你说得到了整个备战期间零故障的好成绩,真的是非常不错,恭喜。
看来咱们中间件团队确实下了非常多的功夫,作为队长,你觉得今年双11和去年有些什么不一样的地方?
涯海:
今年和去年感觉最不一样的就是我们全面拥抱云原生这个点,因为去年的话我们是整个阿里IaaS层上云,我们叫全面上云,但是那个时候还没有触及到我们PaaS这一层。
IaaS上云对于大多数的业务来说都是无感的或者是感知很少,但是PaaS上云的话,它的逻辑是跟业务代码深度耦合的,这个时候我们业务就会有一个很强的感知,并且可能会需要做大量的改动。这个时候我们怎么能在保证业务稳定的情况下,平稳地去完成PaaS的升级,这个是今年跟去年特别不一样的第一点。
第二个就是三位一体,今年从中间的视角,我们很多核心的产品已经加速,甚至是已经完成了我们自研、开源和商业化产品的全面融合,一方面可以节省我们内部的产品支持和维护的一个成本,也就是说可以减少我们的成本,另一方面也为我们集团内走向开放标准的技术生态,去享受云原生的技术红利来打下了一个很好的基础,并且能够让外部的云产品得到内部大量场景的锤炼,来增强我们服务超大批客户的产品化的能力。
这两点我觉得是今年双十一和去年双十一差异比较大的两点。
播报员:
了解了。确实,我们中间件产品里面其实有非常多的网红产品,就是各位开发者都用得非常多,相信屏幕前的你(观众)应该也用过,那你(观众)脑海中有出现什么样的阿里中间件的网红产品的话,现在就可以发弹幕告诉我们。
刚刚我们有提到,今年全面云原生化带来了很多不一样的地方,这又带来了哪些核心技术的升级呢?
涯海:
核心技术的升级的话,我觉得第一个就是我们Dubbo 3.0,在考拉样板间的一个落地,什么是Dubbo 3.0?就要提到大家比较熟悉的网红的微服务Dubbo,Dubbo我们现在主要是在2.X的版本,那么Dubbo 2 和我们集团内部大规模使用的HSF的微服务框架,它本身的兼容性不是特别好,但是Dubbo 3.0 就可以完全兼容我们2.0和集团内的HSF微服务。比如说考拉,它是我们并购的一个产品线,那么它一开始用的就是基于开源自建的一个分支,就是Dubbo k,它在融入到阿里之后,跟阿里的电商体系去做融合互通的时候,就需要同Dubbo 2.0和我们内部的HSF去做一个互通。 这个时候我们给出的方案就是通过Dubbo 3.0 来完成这样的桥接,今年我们是在考拉完成了Dubbo 3.0的升级和落地,明年我们要在集团内做大规模的3.0的升级,这是第一点。
第二点就是我们今年的一个中间件4.0的一个项目,什么是中间件4.0?就是针对单集群、百万实例规模,我们需要做的特别大的一些性能优化,包括我们基于云原生的流量控制,还有我们的Mesh服务网格的技术。今年这三项技术都取得了比较大的突破和成果。
播报员:
好的。 刚刚有听到你说三位一体的一个体系,这三位一体是哪三位?为什么三位一体在今年会变得如此重要呢?
涯海:
行,先说说三位一体是哪三位?首先第一个就是自研,阿里的技术一开始都是基于内部的场景,双11的这种电商的峰值孵化出来的很多创新型的技术,这个是结合我们的资源高度定制,非常契合我们阿里生态的一些技术。
第二个就是开源,随着开源的设计越来越繁荣,有很多优秀的设计理念,然后包括K8S等这些产品,并且现在整个业界对开源也越来越认可。
第三个就是商业化,我们现在有很多云服务提供厂商,比如说阿里云,我们也有很多成熟的商业化产品,但是在一两年前这三位并不是融合的,可能是多个团队,每个团队做一套或者是一个团队要同时维护多个版本,因为它的代码分支、内核产品体验差异都很大,这个是由用户的场景驱动的。但是经过数年的发展,我们发现这三者各有优势,但也各有劣势,这个时候我们就需要做一个三位一体的融合,将三位融合为一体,先做一个全面的融合,这样的话我们既能享受到我们一些开源的优秀的设计理念,拿到内部的场景,通过大量的业务场景去锤炼,然后转化成一个非常成熟的商业化产品,来为我们内部或者外部的企业用户提供我们“永不停机的计算服务”的目标去努力。另一方面我们也能够同时的享受到我们云原生的这样一个技术红利。这个是我对三位一体的一个理解。
播报员:
刚刚我记得你还有提到过说去年是IaaS的上云,这样对业务比较无感知,对吧?
今年是PaaS的上云,需要业务进行一些相应的改变。 其实还有一种方式叫云原生上云,我想让你来给我们解释一下,这三种上云的方式究竟有什么样的区别呢?
涯海:
IaaS层上云的话,简单解释就是你不用买服务器了,不用去自建机房了,你可以把你的应用的容器直接部署在我们的云端, 就节省了很多物理的成本。 PaaS上云是什么?就是说不单你的客户端,就是你自己的应用程序不需要再买机器了,并且你需要使用的一些服务端的中间件技术,也不需要去自建集群,比如说你不需要去自建一个消息集群,然后再去提供消息服务,也不需要去自建一个注册中心或者配置中心,你才能享受这样的服务。那么我理解的PaaS层上云就是将我们使用的很多中间件的技术直接变成PaaS化,按需的去使用,就像我们现在IaaS层一直在说弹性,就是我们需要用到多少的物理资源,就去自动的申请,然后当流量上涨它可以自动的去做扩缩容。那么PaaS同样是希望往这个理念去发展,我们把我们的一些中间件服务以一种计量的方式来对外提供服务,这个时候你用多少你就花多少的成本,不需要去考虑它的扩展性,也不需要考虑它的规模的瓶颈,比如一些互联网的新兴公司,它的成长是非常迅速的,可能它的实例规模迅速的能从100到1000到上万到甚至是10万,这个时候它就不需要经历阿里一代、二代、三代的这样一个技术更新,不用再去经历这样的痛苦,这是第二类。
什么是第三类?我理解云原生就是让我们无论是IaaS层还是PaaS层的接口更加的标准,比如说虽然同样是把你的中间件服务部署在云端,那你可能会面临多个云厂商的这样的一个纠结,对吧?因为每个云厂商的标准都不一样,就像你买不同的手机,可能有不同的充电器,这个时候如果你买了两个手机,充电器可能就不能互用,但是现在大家都基于Type-C的充电接口,都基于这样的标准接口,也就是我们就无论你是开源自建还是从自建迁移到成熟的云服务厂商,都不需要再去经历买一个USB转换器的痛苦。这个是我个人的一个理解。
播报员:
了解了,像我这种不是技术的同学,我都能听懂,非常浅显易懂的科普,非常感谢涯海。
我有听说过一句话叫做中间件云原生化是云原生从概念到落地的承接,这句话是怎么理解?
涯海:
这句话比较抽象,我也不太好理解,我只能大概的说一下我自己的理解。我听到一个关键词就是承接对吧?
其实中间件一直是承担的承上启下的作用,就是向下的话,我们是要充分的去发挥我们IaaS层的一些技术红利,比如说现在最火的一些弹性的技术,但是我们要屏蔽掉不同的物理设备其底层的一些差异化,无论是K8S还是容器化的,我们都要去屏蔽底层的物理差异。
向上,我们是需要提供标准的服务能力,就像我刚才说的PaaS化一样,这个时候无论是电商业务,还是说搜索业务或者其他的业务,无论你的业务形态是什么样,但是所使用的这种中间件的服务能力是标准的、一致的,我们就可以去支持不同的场景,并且与此同时我们也可以支持不同的语言,无论是Java的还是C++的,对外提供的接口的能力都是一致的。 这个是我对“承接”一词的理解。
播报员:
我听上去感觉上是齿轮,就是一个个比较精细的齿轮的感觉?
涯海:
不能说齿轮,我觉得它有点像适配器,可能是一个万能的适配器。只要有了它,你就可以去选择你想要的一些能力,并且不需要考虑能力之间的一个差异性,它来帮你去做屏蔽,并且你不需要考虑规模,它也可以帮你去屏蔽规模带来的一些问题。
播报员:
好的,我们这边还有最后一个问题,都说今年特别重要的一个概念就是全面云原生化,我们今年的双11也成为了全球最大规模的云原生实践。
其实我们都知道阿里在近几年来一直都在做云原生基础设施的升级,基础设施整体升级以后,云原生中间件将如何重构升级呢?如何把底层基础设施更好的弹性,通过中间件赋能给上层业务?
涯海:
我们现在在做这样几个事情,第一个就是我们自己要去拥抱云原生带来的变化,比如说今年我们中间自己就做了有状态应用的AIS化,也就是KMS,也就是我们要把我们自己的应用变成随时可以迁移、自动调度的,然后通过这种调度的方式解决一些单机故障,来提高我们整体集群的稳定性。
第二点我们要把自己的很多能力去包装成一些CRD或者是其他的一些方式,能够让用户更加轻量化地、更加有效地去定制自己的一些需求。
第三个就是说我们要去面对多语言的场景,要去通过一些服务网格的技术比如说Mesh,去支持一些异构场景以及多元互通的诉求,这个是我们要做的第三点,当然还有很多其他的点,我就不一一介绍了。
总得来说,之前一篇文章中有有一个比喻,我们都知道珠穆朗玛峰很高对吧?它是一个8848米的高山,极度缺氧、严寒的一个环境,这个时候我们去攀登这样一座高峰的时候,就需要借助一些设备,比如说我们的防寒衣,我们的氧气罐,我们通过这些设备来帮助我们更好地去攀登我们的顶峰,我们的一些中间件的技术就是帮助大家去完成这样的这样的一个目标。
当然我们更希望帮助大家做的事情就是通过云原生中间件技术的升级,能够帮助业务本身也完成云原生化的转型,就有点像我们抛弃了氧气罐,抛弃了防寒衣,就像生活在珠穆朗玛峰上面的一些冰熊等一些原生的动物一样,我们直接适应了云原生的环境,适应了整个云原生的特性,这个时候我们就能更加充分地去发挥我们云原生技术红利的优势。
播报员:
其实我们屏幕前有非常多的开发者,也用了很多阿里中间件的技术,也非常想把阿里中间件的技术学好。
对于这些开发者来说,你有什么好的建议给到他们吗?
涯海:
首先非常感谢大家能够喜欢,能够支持我们阿里的这些技术。我们阿里中间件最近几年也花了大量的人力投入在我们整个开源社区的建设上面,比如说我们的几个明星产品,比如说微服务Dubbo,还有我们的消息产品,还有RocketMQ现在也是Apache的顶级项目产品,还包括我们的软负载,以及等等一系列的产品,这些产品我们都有在开展社区去贡献,同时我们集团内部的产品和我们商业化的产品也在进行融合,而且我们的内核也都是基于这样的,如果大家感兴趣的话,我是建议大家先从开源参与进来,然后在参与开源的过程中也可以尝试自己搭建一些集群去学习一下,甚至可以应用在你的生产系统里面。但是当你的规模和体量逐渐增长的时候,你可能会遇到更加高深的比如说稳定性或者是扩展的一些问题,这个时候就可以多跟我们的同学一起交流,我们也有很多开发者社区,并且很多内部的同学都是技术极客,包括我自己,都是非常愿意跟大家一起去交流这些技术话题的。
播报员:
好的,最后我就着刚刚我们涯海的话题打一个小广告,我们现在其实正在筹备云原生的课程,12月也会发布云原生微服务的学习路线,都在阿里云开发者社区,大家可以去持续关注,并且学习起来,Get同款网红中间件产品的技术。
我们今天的访谈就到此结束了,非常感谢屏幕前的你在这段时间里跟我们一起交流和学习,也非常感谢我们今天的嘉宾涯海来参加我们今天的访谈,谢谢大家。
涯海:
好,谢谢莫孤,最后我也打一个广告,对如果大家对阿里的技术感兴趣,对中间件建感兴趣,希望能够共同地去定义未来的云原生,欢迎大家加入我们,跟我们一起努力。
原文链接
本文为阿里云原创内容,未经允许不得转载。
来源:oschina
链接:https://my.oschina.net/u/4399604/blog/4792038