滴滴出行首席架構師李令輝:業務的快速發展離不開架構的超前設計
2016-04-15 00:47:00 來源:來源:51CTO.com 評論:0 點擊:
網+線下沙龍 | 移動APP模式創新:給你一個做APP的理由>>
4月14-15日,在北京珠三角JW萬豪酒店,51CTO舉辦了WOT互聯網運維與開發者峰會。WOT秉承專注技術,服務技術人群的理念,自 2012年首次舉辦以來,歷經八屆,積累了大量的技術資源,成為廣大技術從業者和技術愛好者一致認可的技術分享大會、交流和人脈拓展平臺。會后,記者專訪了本次大會高可用架構專場的李令輝講師,他分享的內容是分布式時代的架構設計。
講師介紹
李令輝,滴滴出行首席架構師,于2014年中加入滴滴,經歷了滴滴高速成長的階段,見證了滴滴從一個打車軟件變成一個出行平臺。移動互聯網資深從業者,對移動互聯網技術發展趨勢以及技術團隊的組建有獨道見解。他具有多年互聯網架構的設計經驗,擅長高性能高并發高可用的架構設計工作,主導了滴滴打車技術迭代中的核心服務架構升級。
在本次WOT峰會的高可用架構專場,李令輝分享了分布式時代的架構設計這一主題。他認為面對運維的架構設計不是一個割裂的主題,架構設計是為了結果服務的,結果包括功能是否達到,成本是否可控,擴容性/可擴展性是否夠用。很多時候,運維的便利性和可運維性是被忽視的。李令輝告訴了現場從業的架構師和工程師如何讓運維工作和研發工作更好地協同發展,不要讓研發成為運維的負擔,或者運維成為研發的瓶頸。因為這兩者在互聯網時代是不可割裂的。
滴滴出行是順應移動互聯網發展的成功應用,大家在日常使用上,已經非常熟悉了。目前滴滴支付系統的發展情況很好,最高的時候一天已經超過一千萬單。那么,滴滴團隊是如何支撐起業務需求的增速發展的呢?
李令輝表示他們也是在摸索中前進,盡量跟上并希望超越業務的發展速度。因為業務在發展,架構師不存在說讓整件事情的運轉很好,只能說盡其所能讓它沒有那么差。工作中,他們也摔了很多大坑,但是最核心的一點,至少在李老師的工作中,他相信技術可以改變世界。技術是移動互聯網最核心的因素,只有技術才能夠讓整個社會效率提高,所以我們可以用技術手段去解決更多的問題。
滴滴發展中遇到的最大的問題是什么?
滴滴的優勢是發展的非??欤驗檎泌s上了移動互聯網時代的大發展,滿足了大家出行的需求,并且移動支付在滴滴剛誕生的時候也是處于快速發展期,雙方互相借力,讓這個行業的發展達到前所未有的速度。這是滴滴的優勢,但是同樣也是問題,因為發展快,一定讓整個技術團隊沒有辦法做好充分的準備。滴滴技術團隊像在“戰火中修建城市”,一直在前線聽到戰火,經歷每天生活中的報警此起彼伏,比如大促、營銷戰,快速的流量爆漲,故障處理等等。雖然過程不美好,但是從中收獲了很多實戰經驗。
對滴滴公司來說,他們怎么用架構設計來解決這些問題?
這就要求架構師在快速發展的時候,盡量做一些超越當前的設計,做一些前瞻性的預判,比如說滴滴的支付系統,業務量不是很大的時候,在只有三個業務線的時候,他們就設計讓它支持多個業務線、多種支付形態。比如前期只外接了微信支付,現在已經接入了微信、支付寶,還有招商銀行。也就是說架構師的工作不能只顧當下,要往前多看幾步發展,架構設計方便后期的擴容。
像滴滴這樣支付型的互聯網公司發展中,基本要經過幾個架構設計階段呢?
李令輝認為一個創業公司從一開始到一個大體量的階段,很難說有幾個階段,因為每天都不一樣,因為幾百個功能在開發,它們的產出就會造成互相影響。但是,我們可以人為的分出一些大的階段,比如在2012年單個業務線的時候,有出租車,開始是一些很簡單的應用,運行在公有云的幾臺機器上。后續業務發展,他們開始拓展自己的機房,運維幾十臺機器并做了很多優化,到了補貼大戰之后就進入全新時代,流量暴漲,那個時代就面臨怎么扛住這么大流量,并且提供穩定的服務了。
他們做完了單個業務線,又面臨多業務線出現了。第二個業務線是專車,這就要求實現一些公共服務下沉,讓兩個業務線之間看起來是一個業務線。之后,滴滴又出現了新的業務形態,其中專車和出租車業務形態很像,順風車不太一樣,后續還有大巴、試乘試駕,還有一些看起來不是滴滴的業務,比如電子地圖,所以架構師面臨多業務線,在各個領域都要去挑戰,那么他們怎么去支持多業務線發展呢?團隊人數增加是一方面,如何讓這些團隊更好的工作是更大的問題。這些都要求架構師要有很好的架構設計,因為架構設計決定了部門間的合作方式和同事間的協同工作。
現在滴滴處于快速發展期,它的未來發展目標是成為全球最大的一站式出行平臺,因為中國是全球最大的市場,用戶只需要決定去哪里,不需要考慮付出的成本和舒適度,在怎么出行這個問題上,由滴滴幫大家解決。
李令輝心目中優秀的架構師是怎樣的?
李老師表示架構師是一個要求很高的職位,一是要求從業者不僅懂技術,要經歷軟件開發的各個階段,還要有足夠的經驗做決策。第二個是要求架構師采用合理的管理方式,因材施教,讓每個團隊成員都發揮出最大的能力。第三是架構師要通盤考慮資源配置,利用現有的各種資源和技術服務,在最低成本的要求下,拿出最好的解決方案。這些都是很大的挑戰。
一個普通的程序員需要經過哪些職場磨煉才能進入到架構師這個層級?
另外,對于架構師自身素養的要求有:一是要有很好的邏輯能力,邏輯能力就是搞清楚事件間的因果關系。因果關系往往在現實生活中和時序關系搞混,有可能兩件事情的發生只不過恰好在時間軸上是先后關系。第二是抽象能力,要求通過有限的事情,了解所有事情可能的工作方式。第三個是結構化的快速攝入知識能力,通過了解很多知識,看很多的案例、書籍,還有其他人的設計,快速攝入這些知識?;谶@三點,還要加上一些運氣的成分,你恰好趕上做這些事情。做到這些的普通程序員,可能就會更容易成為架構師。
【編輯推薦】
上一篇:WOT2016崔燦:帶你了解不一樣的百度開放云存儲
下一篇:開啟運維新時代:WOT2016互聯網運維與開發者峰會內容回顧
