一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

【SDCC講師專訪】專訪百度架構(gòu)師鄭然:架構(gòu)的本質(zhì)是為了服務(wù)業(yè)務(wù)

 dxw121 2016-09-09

2016年9月22日-23日,由CSDN重磅打造的SDCC 2016大數(shù)據(jù)技術(shù)&架構(gòu)實(shí)戰(zhàn)峰會(huì)(杭州站)將在杭州舉行。大會(huì)前夕,百度網(wǎng)頁搜索架構(gòu)部架構(gòu)師鄭然接受了CSDN專訪,談及了對(duì)架構(gòu)的理解、SOFA(Service Oriented Flyweight Architecture)的前世今生,以及技術(shù)人提升之道。


百度網(wǎng)頁搜索架構(gòu)部架構(gòu)師 鄭然


嘉賓介紹


鄭然于2009年加入百度網(wǎng)頁搜索部,在百度網(wǎng)頁搜索部工作的7年時(shí)間里,一直從事百度搜索引擎的架構(gòu)研發(fā)工作,先后負(fù)責(zé)過百度搜索引擎的大規(guī)模索引構(gòu)建工作,大數(shù)據(jù)離線平臺(tái)架構(gòu)工作。近幾年來一直從事著大規(guī)模服務(wù)治理相關(guān)工作,包括支撐大規(guī)模服務(wù)變更的PaaS系統(tǒng),保障百度搜索引擎99。995%可靠性的高可用架構(gòu)和中間件,以及百度搜索引擎容量規(guī)劃和評(píng)估等。


專訪正文


CSDN:請(qǐng)先和大家介紹下您和目前所從事的工作,以及關(guān)注哪些技術(shù)領(lǐng)域?


鄭然:我自從2009年加入百度以來,一直在網(wǎng)頁搜索部從事搜索引擎架構(gòu)相關(guān)的工作。 從最開始的大規(guī)模分布式索引建庫系統(tǒng)到離線泛建庫大數(shù)據(jù)分析架構(gòu)相關(guān)的工作。近幾年一直從事大規(guī)模服務(wù)治理技術(shù)的研發(fā)工作,設(shè)計(jì)并實(shí)施了輕量級(jí)的接口化和組件化的微服務(wù)開發(fā)平臺(tái)SOFA;帶領(lǐng)團(tuán)隊(duì)對(duì)支撐百度搜索引擎海量服務(wù)部署和變更的PaaS平臺(tái)——Eden進(jìn)行了一系列重構(gòu)和優(yōu)化(日前在業(yè)內(nèi)技術(shù)大會(huì)上分享過Eden,Slides參見:《Eden – 百度搜索系統(tǒng)的PaaS架構(gòu)設(shè)計(jì)和實(shí)踐》);現(xiàn)階段,我們把服務(wù)治理拆分成效率提升,高可用架構(gòu)和容量?jī)?yōu)化三個(gè)大方向,系統(tǒng)化的解決服務(wù)治理面臨的問題,構(gòu)建搜索引擎的私有云平臺(tái)。


我個(gè)人對(duì)于高可用架構(gòu)、云計(jì)算、容器和微服務(wù)、服務(wù)治理、DevOps等技術(shù)領(lǐng)域非常感興趣,也希望和大家進(jìn)一步交流。


CSDN::作為一名資深架構(gòu)師,能否談下您對(duì)架構(gòu)的理解?


鄭然:這個(gè)問題有點(diǎn)大,我理解架構(gòu)的本質(zhì)是為了業(yè)務(wù)服務(wù)的,解決不了業(yè)務(wù)問題的架構(gòu)毫無用處。但是往往業(yè)務(wù)問題是復(fù)雜的,同時(shí)已有架構(gòu)和系統(tǒng)都會(huì)或多或少的存在技術(shù)債務(wù)(我猜大多數(shù)情況下技術(shù)債務(wù)還不少)。所以我覺得對(duì)于一個(gè)架構(gòu)師來說,選擇正確的時(shí)間,使用正確的技術(shù),選擇解決哪些問題,最終能給業(yè)務(wù)帶來什么價(jià)值,是需要經(jīng)過深思熟慮的。一方面要能滿足業(yè)務(wù)需求,解決業(yè)務(wù)問題,另一方面又要償還技術(shù)債務(wù),讓系統(tǒng)向著理想目標(biāo)前進(jìn),這其實(shí)需要很多折中和權(quán)衡,即使在架構(gòu)設(shè)計(jì)過程中也往往是一個(gè)折中的過程。不過恰巧是這一點(diǎn),讓我覺得這正是吸引我一直從事架構(gòu)相關(guān)工作的原因。


CSDN:有人覺得架構(gòu)師是個(gè)很高大上的職業(yè),您覺得作為一名架構(gòu)師,需要具備哪些能力?


鄭然:我一直工作在一線,從“硬件”和“軟件”兩方面談:


  • “硬件”方面我主要指技術(shù)能力


架構(gòu)的設(shè)計(jì)要求具備很強(qiáng)的抽象能力。對(duì)于復(fù)雜系統(tǒng),大到能設(shè)計(jì)整體架構(gòu),對(duì)于核心技術(shù)做出正確的技術(shù)選型和技術(shù)判斷,小到能清楚的知道API的接口設(shè)計(jì)和實(shí)現(xiàn)邏輯,做到當(dāng)團(tuán)隊(duì)只有一個(gè)人的時(shí)候,也能開發(fā)出來,區(qū)別就是時(shí)間長(zhǎng)短而已。這要求架構(gòu)師具備豐富的技術(shù)儲(chǔ)備,需要在工作過程中不斷總結(jié)和歸納,同時(shí)開闊技術(shù)視野,取長(zhǎng)補(bǔ)短。這些都需要時(shí)間的積累,不是一日之功, 沒有捷徑可走。


  • “軟件”方面,涉及的點(diǎn)就比較多了,我覺得比較重要的就是規(guī)劃能力、表達(dá)能力、技術(shù)領(lǐng)導(dǎo)能力和技術(shù)影響力。 


  • 對(duì)于規(guī)劃能力,我們通俗的說叫”吃著碗里的,看著鍋里的”。我們?cè)谧鲋?dāng)前工作的同時(shí),必須不斷思考未來是什么,大到系統(tǒng)的理想形態(tài)是什么,小到系統(tǒng)的最合理設(shè)計(jì)是什么等。這個(gè)未來不需要太長(zhǎng),我覺得半年到一年就可以了。我自己的體會(huì)是,如果有些地方我思考不清楚了,那就會(huì)讓我寢食難安,如果想清楚了,心里會(huì)充滿平靜。除了思考清楚理想形態(tài)之外,還需要思考逐步達(dá)到理想形態(tài)的過程。因?yàn)槔硐胄螒B(tài)往往不可能一蹴而就,這就要求我們心懷業(yè)務(wù)目標(biāo),在達(dá)成業(yè)務(wù)目標(biāo)的情況下,逐步達(dá)成理想形態(tài)。

  • 表達(dá)能力有些朋友可能覺得不是那么關(guān)鍵,其實(shí)不然。在職場(chǎng)中,需要溝通的地方很多,包括團(tuán)隊(duì)內(nèi)部問題討論,跨團(tuán)隊(duì)的需求溝通,跨部門的項(xiàng)目合作,向上級(jí)匯報(bào)工作, 給下級(jí)分配工作等等。即使同一個(gè)問題,面對(duì)不同的人,說法完全不同。這里有一個(gè)竅門, 就是一定要站在對(duì)方的角度,然后再想怎么說,往往可以起到事倍功半的效果。

  • 技術(shù)領(lǐng)導(dǎo)能力是一個(gè)比較大的話題,我自己也講不清楚。我的一點(diǎn)點(diǎn)體會(huì)是,以人為本。大家愿意和你一起工作,除了公司大環(huán)境之外,更多的是考慮這個(gè)方向的空間以及個(gè)人的成長(zhǎng)。所以我給自己設(shè)置的一個(gè)隱性目標(biāo)就是為大家發(fā)掘和創(chuàng)造更大的成長(zhǎng)空間,讓團(tuán)隊(duì)中的每個(gè)人都能獲得足夠的成長(zhǎng)。 團(tuán)隊(duì)成長(zhǎng)了也就能更好的為公司創(chuàng)造價(jià)值了。

  • 技術(shù)影響力提升我覺得也是很重要的一個(gè)方面,你自身的影響力提升了,也可以吸引更多的人加入團(tuán)隊(duì)。提升技術(shù)影響力的途徑有很多,比如公開演講,寫技術(shù)文章,組織部門內(nèi)部的技術(shù)交流會(huì)和一些課程,發(fā)表論文和專利等。

CSDN:您在百度網(wǎng)頁搜索部工作了7年,能夠分享下近年來百度搜索引擎的挑戰(zhàn)?


鄭然:百度搜索引擎其實(shí)一直在不斷更新,只不過可能每天只提升一點(diǎn)點(diǎn),影響一小部分query,大家感受不那么明顯,是一個(gè)從量變到質(zhì)變的過程。百度一直以“讓人們最平等便捷的獲取信息,找到所求”為使命,隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展以及信息量的不斷膨脹,用戶找到信息的難度更大了。所以從2016年開始百度正在從多個(gè)維度全面打造“新搜索”,讓搜索結(jié)果多樣化全方位的滿足用戶請(qǐng)求,同時(shí)不斷完善內(nèi)容生態(tài),促進(jìn)優(yōu)質(zhì)內(nèi)容在百度全平臺(tái)的承載。這就意味著百度搜索引擎的算法復(fù)雜度和數(shù)據(jù)計(jì)算存儲(chǔ)量的大幅提升,給搜索引擎的算法和架構(gòu)帶來了巨大的挑戰(zhàn)。


CSDN:這次在SDCC 2016(杭州)架構(gòu)峰會(huì)上,您主要分享SOFA(Service Oriented Flyweight Architecture)這一輕量級(jí)的面向服務(wù)的開發(fā)框架,可否介紹下SOFA的前世今生?


鄭然:先澄清一下, sofa-pbrpc和我要分享的SOFA是完全不同的。以我們的反作弊服務(wù)為例,反作弊服務(wù)需要根據(jù)網(wǎng)頁的HTML計(jì)算和解析出上千個(gè)特征,然后在經(jīng)過幾百個(gè)策略,最后得出反作弊的結(jié)果。這上千個(gè)特征存在錯(cuò)綜復(fù)雜的依賴關(guān)系,策略與策略之間也存在著嚴(yán)格的順序要求。隨著算法的越發(fā)復(fù)雜,有些特征或者策略的計(jì)算需要消耗的資源會(huì)越來越大, 這時(shí)候大家想到的辦法一定是對(duì)服務(wù)進(jìn)行拆分了。如果沒有SOFA,這樣的拆分過程相當(dāng)于做一次重構(gòu)的工作量,而且對(duì)反作弊效果來說是沒有正向收益的,做算法的同學(xué)最不愿意做這種事情。所以能否靈活的進(jìn)行拆分,就是提升研發(fā)效果的關(guān)鍵了。使用SOFA技術(shù)以后,修改幾行配置就可以實(shí)現(xiàn)拆分了;另外反作弊服務(wù)中有些特征和策略的計(jì)算邏輯,可能其他服務(wù)或者產(chǎn)品線也同樣需求,比如切詞,提取title、content、anchor等,那么如果能非常方便的實(shí)現(xiàn)代碼共享,也勢(shì)必大幅提升研發(fā)效率。所以在這種情形下,我們?cè)O(shè)計(jì)和實(shí)現(xiàn)了SOFA這一接口化和組件化的開發(fā)平臺(tái)。


在2013年SOFA完成的第一個(gè)版本中,我們已經(jīng)實(shí)現(xiàn)了RPC的功能并且性能十分優(yōu)異,考慮到當(dāng)時(shí)距離SOFA成型還有相對(duì)較長(zhǎng)的時(shí)間,同時(shí)部門內(nèi)一些偏向基礎(chǔ)架構(gòu)的系統(tǒng)(比如百度開源的tera分布式表格系統(tǒng))僅僅有RPC的需求,所以我們把SOFA中RPC的代碼剝離出來,適配了protobuf,于是乎就有了sofa-pbrpc這個(gè)項(xiàng)目了。


可以說RPC只是SOFA的冰山一角, 我希望通過本次SDCC的分享,給大家揭秘整個(gè)SOFA平臺(tái)。不過由于SOFA依賴了一些公司的庫以及人力問題,還沒有開源出來,但是我個(gè)人認(rèn)為整個(gè)SOFA的設(shè)計(jì)思想還是非常先進(jìn)的,所以決定在本次SDCC上為大家介紹SOFA,希望能給大家?guī)硪稽c(diǎn)點(diǎn)啟發(fā)。


CSDN:SOFA目前有哪些最佳實(shí)踐?


鄭然:SOFA自身具備接口化和RPC的能力,所以適用于所有應(yīng)用RPC的場(chǎng)合。同時(shí)得益于SOFA接口化和組件化的設(shè)計(jì)思想,更適合于構(gòu)建帶有復(fù)雜業(yè)務(wù)邏輯的服務(wù)模塊。不知道大家有沒有遇到過這樣的場(chǎng)景,比如我想使用切詞功能,于是我從公司的代碼庫中反復(fù)搜索,終于找到了代碼路徑。Checkout下來之后,首先閱讀頭文件,看過復(fù)雜的結(jié)構(gòu)體聲明和函數(shù)定義以后,準(zhǔn)備寫一個(gè)demo程序做實(shí)驗(yàn)。代碼寫完編譯好之后,發(fā)現(xiàn)缺少切詞詞典,于是乎從公司的wiki上反復(fù)搜索,終于找到對(duì)應(yīng)的接口RD,我們從一個(gè)FTP地址下載了切詞詞典。然后運(yùn)行demo,詞典加載失敗,聯(lián)系接口RD發(fā)現(xiàn)詞典版本和代碼版本不匹配,于是重新下載對(duì)應(yīng)版本的切詞詞典,終于demo運(yùn)行通過了。下一步當(dāng)然是把切詞的邏輯添加到線上的模塊了。代碼寫完并且添加好編譯依賴之后,發(fā)現(xiàn)編譯不通過,原來切詞庫依賴的一個(gè)庫和當(dāng)前模塊沖突了,打平之后發(fā)現(xiàn)當(dāng)前開發(fā)的模塊又編譯不通過了……這時(shí)候如果運(yùn)氣好的話,經(jīng)過反復(fù)實(shí)驗(yàn),可以找到一個(gè)編譯通過的版本; 運(yùn)氣不好的話,那只能修改相應(yīng)的代碼了,真是一如好悶深似海啊! 燒香拜佛之后,終于編譯通過了,運(yùn)行之后程序如果core了,這還算好的,如果運(yùn)行之后得出的結(jié)果不對(duì), 那才叫一個(gè)叫天天不應(yīng)叫地地不靈呢。


遺憾的是,我們的搜索服務(wù)中存在很多這樣的模塊。我們的反作弊服務(wù)和頁面解析服務(wù)都是包含復(fù)雜的特征提取和算法模塊,這些模塊隨著算法復(fù)雜度的提升,需要的CPU和內(nèi)存會(huì)不斷提升。如果說編譯依賴沖突的問題還可以通過一些艱苦卓絕的工作解決,那么資源需求達(dá)到一定程度之后,就必須進(jìn)行服務(wù)拆分了。沒有使用SOFA之前,這樣的拆分是非常復(fù)雜的,不僅僅研發(fā)周期長(zhǎng),對(duì)服務(wù)的效果又起不到提升的作用研發(fā)過程需要反復(fù)的測(cè)試功能和效果的評(píng)估,給算法的研發(fā)同學(xué)帶來的極大的痛苦。SOFA的接口化和組件化的設(shè)計(jì)思想,可以大大簡(jiǎn)化上述過程。組件的符號(hào)隔離機(jī)制,確保組件之間不同版本的庫并存; 接口化和組件化的能力使得我們僅僅通過修改配置,就可以完成服務(wù)拆分工作; 而且不同的組件可以采用不同的編程語言, 進(jìn)一步加速組件的研發(fā)效率。SOFA上線以后, 先后支持了公司包括網(wǎng)頁搜索,自然語言處理,深度學(xué)習(xí)研究院,機(jī)器翻譯等十幾個(gè)的產(chǎn)品線,構(gòu)建了上百個(gè)服務(wù),使用SOFA的研發(fā)人員接近200人。


CSDN:微服務(wù)目前受到廣大互聯(lián)網(wǎng)公司的熱捧,您如何評(píng)價(jià)這一現(xiàn)象?


鄭然:可能很多朋友看到微服務(wù)帶來的可擴(kuò)展、松耦合、研發(fā)和迭代效率提升等優(yōu)點(diǎn), 都有蠢蠢欲動(dòng)的感覺。微服務(wù)背后隱藏著一座冰山,我們看到的往往是浮出水面的華麗的部分,而水下作為微服務(wù)的底座,需要包含日志的匯總和分析、服務(wù)注冊(cè)和發(fā)現(xiàn)、部署和升級(jí)、資源管理、CI/CD流水線、服務(wù)依賴關(guān)系管理、調(diào)用鏈跟蹤框架、灰度發(fā)布、藍(lán)綠部署、容量評(píng)估和規(guī)劃等技術(shù),如果公司對(duì)這些基礎(chǔ)設(shè)施缺乏積累,那么引入微服務(wù)架構(gòu)我覺得會(huì)是一場(chǎng)噩夢(mèng)。當(dāng)然這些基礎(chǔ)設(shè)施的發(fā)展也很迅速,開源社區(qū)也非常活躍,大大降低了建設(shè)這些基礎(chǔ)設(shè)施的門檻。


CSDN:您作為技術(shù)人員,擅長(zhǎng)太多,包括:流式索引構(gòu)建系統(tǒng)&離線計(jì)算平臺(tái)架構(gòu)&PaaS&服務(wù)治理&高可用架構(gòu)&DevOps等,可否分享下您學(xué)習(xí)新知識(shí)或技能的方法?以及在日常生活中你是通過哪些方式來提升個(gè)人技能的?


鄭然:對(duì)于我來說,我特別享受學(xué)習(xí)的過程。我一直堅(jiān)持每天7:30到公司,吃過早飯之后讀一個(gè)小時(shí)的早報(bào)。早報(bào)的內(nèi)容大部分是來自各個(gè)微信公眾號(hào)和自媒體,把其中認(rèn)為好的文章記錄下來,這樣組織了一個(gè)《分布式技術(shù)一周技術(shù)動(dòng)態(tài)》的小專欄,每周為大家推送。 這個(gè)小專欄持續(xù)了一年半了,總共推送了上千篇技術(shù)文章,我個(gè)人的知識(shí)面也得到了很大的擴(kuò)展。我也一直堅(jiān)持組織團(tuán)隊(duì)和部門的技術(shù)分享會(huì),我一個(gè)人的力量畢竟是有限的,我希望所有人都養(yǎng)成學(xué)習(xí)的習(xí)慣,當(dāng)然我也可以從大家的分享中更快速的獲取知識(shí)。


不過如果需要系統(tǒng)的學(xué)習(xí),還是需要看書的,公司提供了圖書館制度,每個(gè)人每個(gè)季度都有一定的額度購買圖書。


我的日常工作主要包括系統(tǒng)設(shè)計(jì)方案評(píng)審,項(xiàng)目過程中疑難問題的解決,需求和方案的討論, code review。我喜歡編碼,如果一段時(shí)間不寫代碼,就感覺心里不踏實(shí),我的代碼量在部門內(nèi)排名還是比較靠前的。除此之外,我還需要給自己預(yù)留學(xué)習(xí)和思考的時(shí)間,這里的學(xué)習(xí)不是像讀早報(bào)那樣泛泛的學(xué)習(xí),需要一定的系統(tǒng)學(xué)習(xí),比如讀一本書,學(xué)習(xí)一個(gè)開源或者公司內(nèi)部的系統(tǒng),學(xué)習(xí)設(shè)計(jì)方案等。思考的時(shí)間也特別重要,我需要保證我做出的技術(shù)決策大部分是對(duì)的,我需要保證整體技術(shù)方向不會(huì)出現(xiàn)偏差,我需要保證每個(gè)同學(xué)都有足夠的成長(zhǎng)空間, 這些都需要深入思考。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    国产精品涩涩成人一区二区三区| 亚洲中文字幕三区四区| 亚洲综合一区二区三区在线| 久久精品视频就在久久| 美女黄色三级深夜福利| 国产日韩欧美国产欧美日韩| 免费黄色一区二区三区| 久久碰国产一区二区三区| 国产精品蜜桃久久一区二区| 国产专区亚洲专区久久| 久久99午夜福利视频| 狠狠亚洲丁香综合久久| 欧美一区日韩二区亚洲三区| 日韩精品第一区二区三区| 天海翼高清二区三区在线| 久久永久免费一区二区| 久久香蕉综合网精品视频| 日韩精品一区二区三区射精| 国产精品人妻熟女毛片av久久| 日韩欧美在线看一卡一卡| 欧美日韩免费观看视频| 国产三级黄片在线免费看| 热情的邻居在线中文字幕| 黄色片一区二区三区高清| 中文字字幕在线中文乱码二区| 免费人妻精品一区二区三区久久久| 嫩草国产福利视频一区二区| 国产精品大秀视频日韩精品| 日韩精品一区二区三区av在线| 国产一区二区三区口爆在线| 暴力三级a特黄在线观看| 少妇肥臀一区二区三区| 午夜福利网午夜福利网| 殴美女美女大码性淫生活在线播放 | 午夜精品久久久99热连载| 日韩夫妻午夜性生活视频| 午夜精品国产一区在线观看| 大尺度激情福利视频在线观看| 免费观看一区二区三区黄片| 日本少妇三级三级三级| 91精品国产品国语在线不卡|