嘉賓介紹:
李林鋒_照片 - 副本.jpg (5.55 KB, 下載次數(shù): 1872)
下載附件
2016-01-14 16:10 上傳
李林鋒,現(xiàn)任華為PaaS平臺架構(gòu)師,8年Java NIO通信框架、平臺中間件架構(gòu)設(shè)計和開發(fā)經(jīng)驗,主導(dǎo)設(shè)計和開發(fā)的華為分布式服務(wù)框架已經(jīng)在全球數(shù)十個國家成功商用。精通Netty、Mina、RPC框架、企業(yè)ESB總線、分布式服務(wù)框架等技術(shù),《Netty權(quán)威指南》作者,公司總裁技術(shù)創(chuàng)新獎獲得者。
王楠w_n(Q1):李老師,您好!非常榮幸有機會采訪到您,首先請您簡單的介紹下自己,以及您的技術(shù)背景和目前所負責(zé)的領(lǐng)域。
李林峰(A1):你好,各位讀者大家好。我叫李林鋒,在華為從事電信軟件的架構(gòu)設(shè)計,有7年多的行業(yè)網(wǎng)關(guān)、業(yè)務(wù)網(wǎng)關(guān)和能力開放平臺的設(shè)計和開發(fā)經(jīng)驗,精通NIO通信框架、網(wǎng)關(guān)平臺、ESB總線等。目前負責(zé)華為PaaS平臺的架構(gòu)設(shè)計工作。
王楠w_n(Q2):從一名技術(shù)開發(fā)者到華為軟件平臺架構(gòu)部架構(gòu)師,再到《分布式服務(wù)框架原理與實踐》和《Netty權(quán)威指南》兩本書的作者;仡^看這一路的努力和經(jīng)歷,有哪些收獲?能否和我們分享一些刻骨銘心的回憶?
李林峰(A2):工作之余寫書確實非常辛苦,它不像寫幾篇技術(shù)文章和博客那么簡單。作者需要針對各層級讀者的需求進行系統(tǒng)性的分析和調(diào)研,再結(jié)合技術(shù)本身進行連續(xù)性、長時間的寫作,幾乎擠占你所有的業(yè)余時間,無論是從精神上還是工作強度,都非常辛苦。
關(guān)于寫書的收獲,可以從兩個角度來看:
1)作者角度:寫書的過程實際是對自己已有知識和經(jīng)驗的重新梳理、補充和系統(tǒng)化總結(jié)的過程,寫書是對自己經(jīng)驗和能力的一種升華。當(dāng)然,通過寫書也認識了很多新的朋友,通過技術(shù)的交流和碰撞,會產(chǎn)生新的想法。
2)讀者角度:無論是Netty,還是分布式服務(wù)框架,很多讀者從中受益。技術(shù)框架的學(xué)習(xí)和高效使用需要一定的經(jīng)驗積累,對于很多初學(xué)者而言,自己啃代碼或者網(wǎng)上搜零散的資料,很難在短時間內(nèi)系統(tǒng)性的掌握相關(guān)領(lǐng)域知識。通過技術(shù)書籍的學(xué)習(xí)和實踐可以快速的入門,在實踐中成長。
印象比較深刻的是去年在上海的一個技術(shù)論壇講高性能RPC框架的設(shè)計和實踐,我的一個讀者從杭州專門開車到上,F(xiàn)場聽我的講座,會后還執(zhí)意開車將我送到高鐵站,然后才回杭州,這位讀者的執(zhí)著精神令我非常感動。
王楠w_n(Q3):我們了解到,您在平臺架構(gòu)和開放方面有著豐富的從業(yè)經(jīng)驗,對初出茅廬的開發(fā)新人,在學(xué)習(xí)和工作習(xí)慣上,您的建議有哪些?可否指點一二。
李林峰(A3):萬丈高樓平地起,對于初學(xué)者,切莫盲目追求技術(shù)廣度,要把精力聚焦在自己感興趣或者工作實際強相關(guān)的技術(shù)領(lǐng)域,例如平臺中間件或者運維工具。把基礎(chǔ)知識打牢,我接觸到很多工作2-3年的新人,凡是技術(shù)功底比較扎實的,工作都能做的非常好,發(fā)展?jié)摿σ哺蟆?br />
眾所周知,IT行業(yè)競爭激烈,壓力也很大。對于新人,要能夠耐得住寂寞,靜下心來踏踏實實的積累工作經(jīng)驗,不要總是想著跳槽漲薪,當(dāng)你的能力足夠強大時,環(huán)顧四周會發(fā)現(xiàn)機會多得是。
王楠w_n(Q4):“微服務(wù)”無疑是本年度最熱的技術(shù)關(guān)鍵詞之一!那么微服務(wù)如何落地呢?部分讀者稱您書中技術(shù)與實踐差距太大,您對此如何回答?
李林峰(A4):首先需要澄清的是,本書并不是專門介紹微服務(wù)的技術(shù)書籍。本書聚焦在當(dāng)前更主流、已經(jīng)被淘寶、亞馬遜、華為等巨頭廣泛采用和實踐的分布式服務(wù)框架上。
微服務(wù)最近確實很火,15年我也很有幸在硅谷跟亞馬遜、谷歌等工程師交流過他們對微服務(wù)的實踐和看法。整體而言,微服務(wù)提倡的足夠小、可獨立部署、升級、伸縮和運維確實能夠提升系統(tǒng)的敏捷性,滿足業(yè)務(wù)的快速發(fā)布和敏捷交付,降低運維成本。但是它的落地需要微服務(wù)的設(shè)計、研發(fā)工具、Dev&Ops流水線等基礎(chǔ)設(shè)施的支撐,以及團隊管理方式、協(xié)作分工流程的變更,如果沒有這些微服務(wù)生存的合適土壤,盲目實施微服務(wù),可能得不償失。
最后一點就是與實踐差距太大的問題,這個剛才已經(jīng)澄清了,《分布式服務(wù)框架原理與實踐》不是專門針對微服務(wù)的,它實際是對目前被互聯(lián)網(wǎng)大廠廣泛使用的分布式服務(wù)框架的抽象和實踐總結(jié),文中所涉及的技術(shù)點,正是分布式服務(wù)框架的重點和難點,與實際工作息息相關(guān)。
王楠w_n(Q5):近些年來,越來越多網(wǎng)站需要同時提供Web、移動App、OpenAPI多種訪問方式,基于分布式服務(wù)的業(yè)務(wù)分治與復(fù)用需求越來越強烈,使用分布式服務(wù)構(gòu)建系統(tǒng)已經(jīng)成為互聯(lián)網(wǎng)開發(fā)的常用手段。但是分布式服務(wù)的關(guān)鍵技術(shù)有哪些?核心原理是什么?
李林峰(A5):在我看來,分布式服務(wù)框架的關(guān)鍵技術(shù)有三點:
1) 底層遠程服務(wù)調(diào)用使用的RPC框架,它負責(zé)鏈路的創(chuàng)建、跨網(wǎng)絡(luò)通信、消息的發(fā)送和接收、消息序列化和反序列化等。
2) 服務(wù)的調(diào)度和透明化路由,涉及到服務(wù)的發(fā)布和消費、服務(wù)的透明化路由和軟負載,以及集群容錯等。
3) 服務(wù)治理: 服務(wù)化之后,如何保障服務(wù)線上高效運行,服務(wù)發(fā)生故障之后如何快速恢復(fù)業(yè)務(wù),需要一套功能強大和成熟的服務(wù)治理體系來保障服務(wù)的SLA。
分布式服務(wù)框架的核心原理并不復(fù)雜,它實際上是RPC框架的升華,為了解決應(yīng)用服務(wù)化之后面臨的種種問題和挑戰(zhàn),降低對業(yè)務(wù)層的侵入,提升服務(wù)的開發(fā)效率。以RPC框架為基礎(chǔ),把一些通用的服務(wù)化能力疊加進來做整合,使各層有機結(jié)合起來形成一個整體,隨著服務(wù)的上線運行,服務(wù)的治理和運維能力逐漸被增強,最后逐步演進到了分布式服務(wù)框架。
王楠w_n(Q6):相較業(yè)界的分布式服框架,阿里Dubbo、淘寶HSF 、亞馬遜Coral Service,華為的優(yōu)勢在哪里?能否詳細介紹下這幾個框架的性能和優(yōu)缺點?
李林峰(A6):這幾款分布式服務(wù)框架都是各自領(lǐng)域的佼佼者,各有千秋。
阿里Dubbo的特點總結(jié)如下:
1)開源,除了阿里的聚劃算、來往等,被國內(nèi)很多公司使用,社區(qū)運作比較成功。
2)比較成熟,在阿里內(nèi)部得到了大規(guī)模、廣泛的使用。
3)輕量級,第三方依賴類庫較少,可以按需裁剪。不依賴具體的運行容器,可以直接使用java main函數(shù)拉起來。
4)可擴展,基于Java SPI機制,在通信協(xié)議、編解碼、Filter攔截器等多個層面提供了擴展接口,用戶可以替換或者擴展Dubbo框架自身的能力,例如當(dāng)當(dāng)擴展實現(xiàn)的DubboX,新增了Restful協(xié)議等功能。
淘寶HSF沒有開源,但是作為淘寶3.0架構(gòu)的核心框架之一,被大家所熟知。它的核心特點總結(jié)如下:成熟穩(wěn)定、支持第三方類庫的隔離并具備強大的服務(wù)治理能力。
亞馬遜的Coral Service的特點總結(jié)如下:
1)與亞馬遜的其它基礎(chǔ)設(shè)施集成,實現(xiàn)DevOps。
2)全公司統(tǒng)一服務(wù)化開發(fā)框架,統(tǒng)一運行平臺,快速高效服務(wù)開發(fā)。
3)超大規(guī)模支持:幾十萬個服務(wù),成千上萬開發(fā)者同時使用,平均每秒鐘有1-2個服務(wù)部署。
4)服務(wù)由小團隊(2 Pizza Team)負責(zé)服務(wù)開發(fā)、測試、部署、治理,運維整個生命周期支撐。
相比于其它幾款分布式服務(wù)框架,華為的分布式服務(wù)框架基于電信運營商的特點做了針對性的設(shè)計和優(yōu)化,例如高并發(fā)時的時延毛刺消除、服務(wù)調(diào)用的安全、電信級5個9可靠性保障等,以及歐美國家的法律合規(guī)性整改和隱私保護等,這些都是電信行業(yè)和華為全球交付模式的行業(yè)特點,與互聯(lián)網(wǎng)公司內(nèi)部自己使用還是存在很大差異。
性能和優(yōu)缺點的對比在此不做詳細展開,不同的應(yīng)用場景和業(yè)務(wù)訴求,對分布式服務(wù)框架的需求也不同。脫離業(yè)務(wù)實際應(yīng)用場景直接做性能等特性對比是不合適的。
對于分布式服務(wù)框架,只有最合適的,沒有最好的。
王楠w_n(Q7):人們常說,解決問題不在于結(jié)果而在于過程。最后,請您聊下實際運用設(shè)計框架的思想路徑。
李林峰(A7):相比于編碼,架構(gòu)的設(shè)計更加復(fù)雜和困難,但是一些方法和實踐可以分享給大家,拋磚引玉:
1)高屋建瓴,有所舍,有所得。聚焦在矛盾的主要方面,不要性能、功能、可靠性等都想做到最優(yōu),要能夠平衡好這些架構(gòu)要素。
2)切勿脫離業(yè)務(wù)的實際需求,架構(gòu)本質(zhì)上要為商業(yè)服務(wù),脫離業(yè)務(wù)實際的架構(gòu)是沒有商業(yè)價值的。
3)不要閉門造車,多參考業(yè)界標桿產(chǎn)品的設(shè)計理念和優(yōu)秀實踐,吸收消化,為我所用。
4)不要試圖做一個完美的理想主義者,架構(gòu)設(shè)計亦如此。架構(gòu)是為商業(yè)服務(wù)的,它會隨著業(yè)務(wù)的發(fā)展由最初的不完美向完美逐步演進。順其自然,而不是在設(shè)計之初就試圖打造最完美的架構(gòu)。
【福利來了】 什么?這就結(jié)束了……小伙伴們是不是有點意猶未盡呢?被著急,更大的福利來了!
下周二(1月26晚20點,李老師將在我們IT架構(gòu)技術(shù)交流群(微信)中為大家主講《服務(wù)化架構(gòu)的演進與實踐》,咱們不見不散~
即日起,關(guān)注chinaunix官方微信,回復(fù)關(guān)鍵字“W4",即可獲得入群方式喲!
qrcode_for_gh_8bf9f56e5acf_258(1).jpg (26.5 KB, 下載次數(shù): 1852)
下載附件
2016-01-19 14:32 上傳
|