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

分享

我的編程之路——訪閱文集團首席架構(gòu)師徐海峰

 貪吃的汪 2016-04-15

2016年4月22日-23日,由CSDN重磅打造的數(shù)據(jù)庫核心技術(shù)與實戰(zhàn)應(yīng)用峰會、互聯(lián)網(wǎng)應(yīng)用架構(gòu)實戰(zhàn)峰會將在深圳舉行。CSDN架構(gòu)領(lǐng)域編輯采訪了一些與會講師,談?wù)勊麄儗⒃跁戏窒淼膬?nèi)容、相關(guān)技術(shù)和程序人生,帶你領(lǐng)略講師風(fēng)采。


本期我們采訪的講師是來自閱文集團首席架構(gòu)師徐海峰,主要負(fù)責(zé)內(nèi)容中心的網(wǎng)站架構(gòu)和分布式存儲、分布式計算工作。10年互聯(lián)網(wǎng)開發(fā)經(jīng)驗,為開源分布式文件系統(tǒng)fastdfs提交過代碼。曾歷任Ctrip國際機票引擎架構(gòu)師、5173分布式存儲和分布式計算架構(gòu)師。多年來一直致力于網(wǎng)站架構(gòu)和分布式計算的研究與實現(xiàn),對大型網(wǎng)站架構(gòu)和分布式計算有豐富的經(jīng)驗。


徐海峰將在SDCC 2016深圳站之架構(gòu)技術(shù)峰會上帶來題為《分布式系統(tǒng)的基石—ID生成器中的學(xué)問》的主題分享,全部架構(gòu)技術(shù)峰會講師情況和議題請點擊【閱讀原文】。


閱文集團首席架構(gòu)師徐海峰


CSDN:請簡單介紹下您和目前的工作,以及關(guān)注的領(lǐng)域。


徐海峰大家好,我是閱文集團(由盛大文學(xué)和騰訊文學(xué)整合而成的集團)的首席架構(gòu)師徐海峰,大家可以叫我大嘴。我目前的工作主要在分布式存儲、分布式計算、公司內(nèi)部框架的架構(gòu)等工作。今年我還給自己加了一個工作項:推動我們的一些項目在GitHub上開源。


對于我自己來說,我一般比較關(guān)注分布式存儲和分布式計算、高性能運算等。其實業(yè)務(wù)系統(tǒng)的框架架構(gòu)等工作很久之前就做過了,只是后來更關(guān)注分布式計算,所以現(xiàn)在我把它當(dāng)成了副業(yè),我的主業(yè)主要還是高性能運算。


CSDN:您有著10年的互聯(lián)網(wǎng)開發(fā)經(jīng)驗,您是如何走上技術(shù)這條路的?


徐海峰為什么看見這個問題,我第一個想到的字就是“熬”?其實確實也只能說是熬吧。開始的時候是技術(shù)不太過關(guān),我就開始熬技術(shù)方面的。當(dāng)時也傻乎乎的,辦法也不多,就想到買幾本書看看。然后沒想到看書竟然后來發(fā)展成了我的一個習(xí)慣。這10年來,我一直看書,我霸占了我家的一個半書架,里面都是我的書。這還不算上被我淘汰掉的很多書。在技術(shù)行業(yè)就是這樣,但你技術(shù)ok了,你的機會就來了。還是那句話,熬著,磨練自己,機會只留給有準(zhǔn)備的人。


CSDN:您現(xiàn)任職于由盛大文學(xué)和騰訊文學(xué)整合而成的閱文集團,也曾在攜程、5173工作過,可否簡要回顧下自己的工作歷程,有什么心得和體會可分享?


徐海峰先說一下這3家公司的區(qū)別吧!現(xiàn)在的公司閱文集團,因為我的自主性大一些,所以可以干預(yù)很多地方,雖然現(xiàn)在屬于剛剛開始,但底子算是比較好的;Ctrip,我當(dāng)時去的時候就是磨練心智的,Ctrip在當(dāng)時比較古板,技術(shù)也是相對挺low的(所以待了11個月實在受不了了,必須要走了);5173的話比較自由,很多事情都可以很簡單的完成,而且同事之間關(guān)系很不錯,我們到現(xiàn)在都一直在一起玩,我也在里面待的最久。


這么多年,我認(rèn)為公司對人的關(guān)系挺大的,判斷一家公司的好壞,不能單一的看付多少報酬,雖然這是第一選擇,但是還要看給你做多少的事情,你想做什么,到你能做什么,再到你能實現(xiàn)什么是有一個很大的跨度的。如果這家公司能給你想法上的自由,行動上的支持那就應(yīng)該待的久一些。


CSDN:您目前是閱文集團的首席架構(gòu)師,此前也是攜程和5173的架構(gòu)師,在每一個階段中您對架構(gòu)是怎樣的理解?以及您對于架構(gòu)師是如何定義的?


徐海峰我個人覺得架構(gòu)挺簡單的。我一直和我下面的人說,做架構(gòu)要比用架構(gòu)簡單,因為你是游戲規(guī)則設(shè)定者。你既是運動員還是裁判,你再干不過人家那就沒法原諒了。另外,架構(gòu)好比畫圓,不管你怎么畫,最后總歸要圓回來。當(dāng)然一個架構(gòu)的好壞還得看業(yè)務(wù)模式、人員素質(zhì)、使用便捷性等因數(shù)。


一個好的架構(gòu)一般不是靠短期內(nèi)做出來的,都是一步一步改出來,或者是總結(jié)前面發(fā)生的事情再寫出來的。


我現(xiàn)在說得好像挺簡單,不過也有迷茫的時候,記得當(dāng)時我做一個單點登錄都要想很久。在5173時,我認(rèn)為技術(shù)就是無敵的,那時候剛剛接觸分布式計算等技術(shù),一切都是嶄新的,充滿著誘惑,幾乎每天都干到很晚。后來到了Ctrip發(fā)現(xiàn)原來技術(shù)差一些也行?其實在Ctrip我算是閉關(guān),在那里看了很多的書,有技術(shù)也有人文類的。一年時間也想通了很多的問題。


架構(gòu)不僅和技術(shù)有關(guān),還和人有關(guān)。一個架構(gòu)除了完成既定系統(tǒng)任務(wù)還要兼顧開發(fā)者等?,F(xiàn)在我的同事經(jīng)常說我喜歡在技術(shù)上“強奸”別人。其實完全不是這樣,只是我想過幾乎所有的方式/方法,而且我選擇了我認(rèn)為最好的那種。既能做到架構(gòu)的簡潔,又能做到對于開發(fā)者快速的接受。像架構(gòu)這種東西,不是越靈活越好,我恰恰相反的認(rèn)為,架構(gòu)這種東西,特別是需要靠別人編程配合完成的東西,越限制死越好。


架構(gòu)師的定義,我還是覺得他既是裁判又是運動員吧。當(dāng)架構(gòu)師不難,難的是怎么讓運動人忘記你裁判的身份。我一直在公司說的一句話:


我真正的成功在于你們都應(yīng)該不知道有我這個人存在。特別是在系統(tǒng)上線后,如果在沒有我的情況下,系統(tǒng)能正常運行,那我才算是牛。


我也一直朝著這個目標(biāo)努力。目前來看,在Ctrip、5173這兩個地方都實現(xiàn)了這個目標(biāo),我希望在閱文集團也能實現(xiàn)。


CSDN:您認(rèn)為具備哪些素質(zhì)才能成為是出色的架構(gòu)師?


徐海峰首先是要忍。一個公司的架構(gòu)或者是技術(shù)線并不是一朝一夕來決定的,它有很多的歷史原因,也有很多的無奈之舉。所謂的存在即合理,千萬不要上來就去大刀闊斧的砍下去,對于一些覺得不順眼、不那么完美的事情要學(xué)會去接受,等待時機再干掉它;


其次是要自我進化。作為架構(gòu)師,一般都是在公司內(nèi)部技術(shù)比較牛的人?,F(xiàn)在這個世界是日新月異的變化著,作為一個公司的技術(shù)領(lǐng)航人員,在技術(shù)上必須要保持一定的先進性。時刻需要進化自己,不斷的補充新的知識;


再次代碼能力不能丟。我一些朋友也是做架構(gòu)師的,他們對我現(xiàn)在還在寫代碼覺得很吃驚,而我對他們現(xiàn)在不寫代碼但是確是架構(gòu)師也很吃驚。一個架構(gòu)師連代碼都不寫了,難道就做做Slides?畫畫圖?然后開幾個演講?這就太頹廢了一些。不僅對公司不好,對自己也不負(fù)責(zé)任啊。


最后要學(xué)會忍受寂寞。牛的人都是寂寞的。往往一個挺好的事情,當(dāng)你滿懷信心的和同事們說的時候,他們一臉的迷茫。幾乎是沒有人點頭的,更不要說受到支持。這時候就要學(xué)會忍受這種“寂寞”,并學(xué)會去處理這種“寂寞”。


總的來說,我還是認(rèn)為架構(gòu)師和管理者還是不太一樣。架構(gòu)師必須要首先做事情,然后再做人,當(dāng)然做事情的時候也要追求合理的方式方法。


CSDN:目前,閱文集團的架構(gòu)是怎樣的?可否簡單介紹下閱文集團整體架構(gòu)的一些架構(gòu)特點?以及作為架構(gòu)師,您的工作重點有哪些?


徐海峰說實話,閱文的架構(gòu)還是比較亂的。畢竟是3家公司合并成的。目前我們的架構(gòu)硬性上來說簡直可以開展覽館了。數(shù)據(jù)庫有:MySQL、SQL Server、Oracle等;應(yīng)用層有:Java、PHP、C#、Python等,而業(yè)務(wù)系統(tǒng)還分屬在不同的機房。這是沒辦法的事情,畢竟以前是分屬3家公司,現(xiàn)在合并了,這種歷史預(yù)留問題是我們要面對的也是必須要解決的。


現(xiàn)在我們決定把數(shù)據(jù)庫從Oracle和SQL Server上遷移到MySQL上。應(yīng)用層基本上以后就只有Java和PHP了,Java做Service,PHP做頁面,各取所長吧。目前我們已經(jīng)在推進這個事情了,去年先把內(nèi)容統(tǒng)一了,今年開始統(tǒng)一應(yīng)用層和應(yīng)用層的數(shù)據(jù)庫等。畢竟飯要一口一口吃,羅馬也不是一天建成的。這種“亂”的現(xiàn)象正在一步一步的被改進,我相信用不了多久就能統(tǒng)一吧。


我在閱文的時間其實剛剛2年,我是2014年4月15日入職的,那時候還叫騰訊文學(xué)。這兩年來,我一直在負(fù)責(zé)分布式存儲和分布式計算的工作。第一年我一個人寫了一個分布式文件系統(tǒng)(DFS),后撰寫的文章也發(fā)表在《程序員》2016年4月期)。然后抽空算是幫忙吧,貢獻了一個編程框架,叫Albianj。Albianj主要做分布式業(yè)務(wù)系統(tǒng)用,自帶了分布式事務(wù)、OEM、數(shù)據(jù)路由等功能,它可以讓你用單機開發(fā)部署到線上,更改幾個配置文件立刻就變成分布式系統(tǒng)來運行,目前也在我們公司大規(guī)模的使用。上文中說到的業(yè)務(wù)系統(tǒng)的遷移就是使用Albianj來完成的。后來配合內(nèi)容中心的統(tǒng)一,我還寫了一個id生成器,這就是我要在SDCC 2016深圳站之架構(gòu)技術(shù)峰會上講的,中間因為調(diào)度的需要,還開發(fā)了一個調(diào)度系統(tǒng),比當(dāng)當(dāng)開源的那個功能要多一些(當(dāng)當(dāng)?shù)暮7鍟粫⒘碎單牡暮7澹浚?。從去?月份開始,我也開始接管團隊,我們團隊在做幾個東西:一個RPC的通訊協(xié)議、Nameserver、LogDB等工作。


我今年的工作重點應(yīng)該不會放在具體的實現(xiàn)上了,我更多的會去做一些系統(tǒng)整體性的架構(gòu)設(shè)計等工作。還有就是開源的工作,我也一直在不停的推進這件事情。目前來看,上面提到的幾個東西都會開源。到時候歡迎大家去GitHub,一起討論這些方案和實現(xiàn)。


CSDN:您如今是如何安排自己的新技術(shù)學(xué)習(xí)、研發(fā)團隊管理、編程、生活等時間的?


徐海峰對于學(xué)習(xí),我恰恰和別人相反。我不太去關(guān)注新的技術(shù),我倒是挺喜歡那種老掉牙的技術(shù)的。開始我是寫C#的,后來我盡然去寫了C。其實就像我喜歡用VIM或者是Emacs而用不慣Sublime Text一樣,我對于新的東西到不是那么的感冒。我一直覺得現(xiàn)在技術(shù)不管怎么變化,都是從那些老掉牙的技術(shù)演化而來的,金礦還是在老掉牙的技術(shù)中。比如現(xiàn)在分布式文件系統(tǒng)的存儲技術(shù),幾乎和操作系統(tǒng)原理中的磁盤管理一模一樣,只是加了很多平衡性、一致性之類的算法,所以我現(xiàn)在在看匯編。對于匯編,我開始非??咕?,但前幾天的一個系統(tǒng)Down掉讓我重新重視了起來。很多時候,在Online環(huán)境中,你根本就是無法Debug,就算用GDB也僅僅是把Dump文件拿下來,但那次我把源文件給弄丟了,不看匯編不行,所以我還是下定決定好好的看看匯編。匯編也沒有想象中的難,除了繁瑣一些,別的都還好。也不知道是不是我學(xué)的不精,還是還沒深入下去,沒到難的地方。


管理團隊這個事情其實我已近很久沒干了。去年開始又需要扮演這個角色了,我才撿了起來。要說工作嘛,肯定是一個人的時候舒服,人多了黑管理者帶來了比較多的亂七八糟事情。我一般管理分為2部分:


  • 首先在生活上,我會給與一定的照顧。對于一些可以變通的地方我也不是那么的強求?;ヂ?lián)網(wǎng)公司嘛,本來就是比較自由的,而且我們的工作還不太算是簡單的業(yè)務(wù)實現(xiàn),而是需要一定的創(chuàng)造性的,所以在這個上面我一直比較松。


  • 另一方面,在技術(shù)上,我被我同事稱為“魔鬼”。我同事說我發(fā)起火來六親不認(rèn)(PS:我已經(jīng)很少發(fā)火了)。我規(guī)定對于屢教不改的我要懲罰。這算是我這里的“私刑”。第一次屢教不改的錯誤,解決方案抄100遍,第二次200,依次類推。我覺得犯錯誤不要緊,誰能無過?關(guān)鍵是你是不是真的用心去記住怎么這個錯誤了。我對待錯誤的態(tài)度是,第一次叫做不知道,第二次叫做不小心,千萬不要有第三次,第三次在我這里就是故意。既然你故意,那我就用故意的辦法治你。我是公司內(nèi)第一個讓下屬抄“100遍”的上司。100遍這種懲罰雖然惡心、下流、卑鄙,但效果卻是出奇的好。凡是抄過100遍的人,至今還沒有人抄200遍。


編程和生活我還是放在一起說吧。因為我愛人和我說,在我的生活中,沒有生活。我是把愛好玩著玩著最后玩成工作的人。高中的時候就對編程很感興趣,后來找工作的時候發(fā)現(xiàn)除了編程我啥都不會,所以最后愛好變成了工作。也不知道這到底算不算是我的優(yōu)勢,我可以花更多的時間在編程上。我覺得時間是一定的,所以你的時間花在了這里,那么那里就會少一塊。我經(jīng)常性把編程和生活搞亂在一起的。我會在洗澡的時候想問題,我會在出去玩的時候帶著電腦,甚至去年7月份前同事結(jié)婚,我們一起去馬爾代夫,早晨起來我還坐在陽臺上寫代碼。完了被朋友笑稱:在扔美金寫代碼。也因為這樣,我覺得我無形中比別人多擠出來了一些時間吧!開始時沒有什么效果,但是久而久之,效果很明顯?,F(xiàn)在確實感覺知道的比一般的人多一些,貴在堅持??!


好好準(zhǔn)備,安安心心堅持,機會還是留給有準(zhǔn)備的人。


CSDN:在本次SDCC 2016(深圳站)架構(gòu)峰會上,您想分享的話題是?


徐海峰這次我分享一個主題:id生成器。說到id生成器,沒聽過的會很詫異,這也好意思拿出來說?知道一點的,會和你說Snowflake算法。Twitter的Snowflake算法確實不錯,但是我認(rèn)為它還能做得更好。我們的id生成器是在統(tǒng)一內(nèi)容時發(fā)現(xiàn)要用。以前我們也是用數(shù)據(jù)庫的解決方案,但統(tǒng)一內(nèi)容中心的時候,數(shù)據(jù)庫方案已經(jīng)不能用了。當(dāng)然我們也參考了Snowflake,但是都被否決了。最后我決定自己來開發(fā)一個。開始沒覺得有多難,其實本身確實也不是很難,但是需要考慮的相關(guān)問題卻要很多。一個小小的id,僅僅自是一個uint64的值,里面卻包含了很多的信息和對于取舍的考量。此次分享具體的包括:我們前期怎樣使用數(shù)據(jù)庫生成id、我們?yōu)槭裁捶艞塖nowflake算法、再到后來我們自己的算法,以及此后我們特有的排序id算法,來聽一下你就知道。


CSDN:您最期待在SDCC 2016(深圳站)架構(gòu)峰會上看到哪些內(nèi)容?


徐海峰我還是想看到更多的自創(chuàng)的東西,而不是使用的心得什么的。這不是說使用的心得什么的不重要,也很重要,可以讓很多人少走很多的彎路。但是技術(shù)的發(fā)展畢竟是靠創(chuàng)新的。使用僅僅只是站在了巨人的肩膀上,我更喜歡看到更多的巨人自己站出來。


對于技術(shù)的縱向選擇,我這個人并不挑食,只要是好的都可以接受。不管你是運維、DB、架構(gòu),這些都可以相互借鑒。


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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    丝袜破了有美女肉体免费观看 | 国产色一区二区三区精品视频| 国产丝袜美女诱惑一区二区| 在线免费国产一区二区| 草草视频精品在线观看| 九九热这里只有精品哦| 91亚洲精品国产一区| 亚洲中文字幕日韩在线| 国产精品不卡高清在线观看| 日韩精品视频免费观看| 国产黑人一区二区三区| 久久福利视频在线观看| 国产一区二区三区午夜精品| 精品国产亚洲一区二区三区| 日本午夜乱色视频在线观看| 美女露小粉嫩91精品久久久 | 国产欧美精品对白性色| 97人妻精品一区二区三区免| 日韩一区二区三区高清在| 伊人国产精选免费观看在线视频| 亚洲国产色婷婷久久精品| 高中女厕偷拍一区二区三区| 中国一区二区三区人妻| 日韩国产亚洲欧美另类| 日韩三极片在线免费播放| 欧美午夜性刺激在线观看| 国产精品亚洲二区三区| 不卡视频免费一区二区三区| 中国美女偷拍福利视频| 国产一区二区三区香蕉av| 东京热男人的天堂久久综合| 一区二区三区日韩中文| 日韩三级黄色大片免费观看| 国产成人精品午夜福利av免费| 欧美性高清一区二区三区视频| 亚洲一区二区三区中文久久| 欧美成人精品国产成人综合| 亚洲综合色在线视频香蕉视频| 国产性情片一区二区三区| 中国日韩一级黄色大片| 日韩熟妇人妻一区二区三区|