4月14-15日,WOT互联网运维与开发者峰会在深圳JW万豪酒店举行珠三角,北京。WOT秉承专注技术,服务技术人的理念。自2012年首次举办以来,历经八届,积累了大量的技术资源,成为技术从业者和技术爱好者一致认可的技术分享会、交流会、网络拓展平台。会后,记者采访了本次大会高可用架构专场的讲师李令辉。他分享的是分布式时代的架构设计。讲师介绍了2014年年中加入滴滴的滴滴出行高级架构师李令辉。他经历了滴滴的快速成长,见证了滴滴从打车软件到出行平台的转变。资深移动互联网从业者,对移动互联网技术发展趋势和技术团队组建有独到见解。多年互联网架构设计经验,擅长高性能、高并发、高可用的架构设计。曾主导滴滴打车技术迭代中核心服务架构的升级。在本次WOT峰会的高可用架构环节,李凌辉分享了分布式时代架构设计的话题。他认为运维的架构设计不是一个单独的话题。架构设计是为了结果,包括功能是否实现,成本是否可控,扩展性/扩展性是否足够。很多时候忽略了运维的便捷性和可操作性。李令辉告诉现场的架构师和工程师,如何更好地协调运维和研发工作的开展,不让研发成为运维的负担,或者成为研发的瓶颈。因为在网络时代两者密不可分。滴滴出行是一款顺应移动互联网发展的成功应用,在日常使用中大家已经非常熟悉了。目前,滴滴支付系统的发展非常好。上线时,每天订单量超过1000万。那么,滴滴团队是如何支持业务需求增长的呢?李令辉表示,他们也在摸索中前进,努力跟上并希望超越业务发展的速度。因为业务在发展,架构师的存在并不是为了让整个事情做好,而是尽最大努力让事情不那么糟糕。在工作中,他们也掉过不少大坑,但最核心的一点,至少在李老师的工作中,他相信科技可以改变世界。技术是移动互联网的核心因素。只有科技才能提高整个社会的效率,我们才能用科技来解决更多的问题。滴滴在发展中遇到的最大问题是什么?滴滴的优势在于发展速度非常快,因为刚好赶上了移动互联网时代的大发展,满足了大家的出行需求,而移动支付在滴滴非常流行。它诞生之初,也正处于高速发展时期。双方相互借力,使这个行业的发展达到了前所未有的速度。这是滴滴的优势,但也是一个问题。因为发展太快,整个技术团队肯定来不及做充分的准备。滴滴的技术团队就像是“战火中筑城”。一直在前线聆听着战火,在日常生活中经历着接连不断的警报,大促、营销战、流量暴增、故障排查等等,过程虽然不美,但实用性很强从中获得了经验。对于滴滴来说,他们是如何通过架构设计来解决这些问题的?这就需要架构师在快速发展的过程中,尝试做一些超越当前设计的东西,做一些前瞻性的预测,比如滴滴的支付系统,当业务量不是很大,只有三个业务线的时候,他们设计到支持多条业务线和多种支付方式。比如我们前期只接入了微信支付,现在接入了微信、支付宝、招商银行。也就是说,架构师的工作不能只着眼于当下,更要期待多走几步发展,这样架构设计方便后期的扩展。像滴滴这样一个以支付为导向的互联网公司在发展过程中,架构设计要经过几个阶段?李令辉认为,很难说一家创业公司从成立到规模化经历了多少个阶段,因为每一天都是不同的。因为正在开发数百个功能,它们的输出会相互影响。但是,我们可以人为地划分一些大的阶段。例如,2012年只有一条业务线时,就有出租车。起初,一些非常简单的应用程序在公共云中的几台机器上运行。在后续的业务发展中,他们开始扩建机房,运维了几十台机器,做了很多优化。补贴大战过后,进入新时代,流量暴涨。服务。在完成单一业务后,他们面临着多业务线的出现。第二个业务线是私家车,需要实现一些公共服务的下沉,让两个业务线看起来像一个业务线。后来,滴滴又发展出一种新的业态,其中私家车和出租车的业态很相似,但网约车的业态就不一样了。未来会有公交车、试乘和试驾,还有一些好像不是滴滴的业务,比如电子地图,所以架构师面临多个业务线,要在各个领域挑战,那么如何才能他们支持多条业务线的发展?团队数量的增加是一方面,如何让这些团队更好的发挥作用是更大的问题。这些都需要架构师有好的架构设计,因为架构设计决定了部门之间的合作方式,同事之间的协同工作。现在滴滴正处于高速发展期,未来的发展目标是成为全球最大的一站式出行平台,因为中国是全球最大的市场,用户只需要决定去哪里,不需要考虑成本和付款。为了舒适,滴滴帮你解决怎么出行的问题。李令辉心目中的优秀建筑师是什么样的?李老师说建筑师是一个要求很高的岗位。首先,要求从业者不仅要懂技术,还要经历过软件开发的各个阶段,有足够的经验来做决策。二是要求建筑师采用合理的管理方式,因材施教,使每个团队成员都能发挥最大的能力。三是架构师要全面考虑资源配置,利用现有的各种资源和技术服务,在成本最低的要求下,想出最好的解决方案。这些都是巨大的挑战。一个普通的程序员需要经过什么样的职场培训才能进入架构师这个层次?另外,对架构师素质的要求是:首先要有良好的逻辑能力,逻辑能力就是搞清楚事件之间的因果关系。因果关系在现实生活中常常与时间关系相混淆。有可能两件事的发生恰好是时间轴上的先后关系。二是抽象能力,需要通过有限的事物理解万物可能的工作方式。三是快速吸收知识的结构化能力。通过学习大量的知识,阅读大量的案例、书籍和别人的设计,你可以很快吸收这些知识。基于这三点,再加上一些运气,你恰好赶上了做这些事情。这样做的普通程序员可能更容易成为架构师。
