在武漢的第一個開發(fā)者峰會中,大咖們都聊了些啥?

世上本沒有路,走的人多了也便成了路——魯迅

很慶幸,至此武漢終于有了自己的開發(fā)者峰會;很慶幸,我們親眼看到了武漢互聯(lián)網(wǎng)技術(shù)的牛逼與驕傲。在浩瀚的星空里我們渺小如塵埃,但是當(dāng)我們匯聚在一起的時候,就是璀璨的星河。簡尋想和大家一起,讓武漢變得越來越好!以下為「2016武漢開發(fā)者峰會」演講實錄,讓我們一起感受武漢蓬勃生長的技術(shù)力量!

會場

時間:2016年3月26日(13:00—18:00)
地點:光谷資本大廈二樓
主題:2016武漢開發(fā)者峰會
主持人:何斌
參會嘉賓:
武漢騰訊技術(shù)負責(zé)人阮曙東
盛天網(wǎng)絡(luò)數(shù)據(jù)架構(gòu)師王歡
極驗驗證CTO黃勝藍
木倉科技技術(shù)研發(fā)總監(jiān)羅晟
斗魚TV大數(shù)據(jù)團隊負責(zé)人吳瑞誠
海豚瀏覽器技術(shù)總監(jiān)胡繼堂
1號店服務(wù)部負責(zé)人王怡
悅?cè)恍膭覥TO趙威
卷皮網(wǎng)技術(shù)總監(jiān)柴楹
sendcloud CTO劉超
貓頭鷹隊長黃錦
航班管家H5技術(shù)總監(jiān)湯泉

何斌 簡尋CEO

我先簡單的介紹一下,我是2011年到武漢,2012年折騰了第一個項目,2013年參加了Yahoo Hack Day,2013年還參加了武漢舉辦的一些技術(shù)類的活動,還是所謂的冠軍,還拿了一個筆記本,一直用著。2015年的時候我們在教堂一起舉辦舉辦了Hack,然后到現(xiàn)在,我們就準(zhǔn)備在武漢這邊做開發(fā)者的峰會,能讓更多的技術(shù)類人聚集在一起,讓大家來感受一下,其實武漢整體的環(huán)境還是很好的,在外面工作的可以回來,在武漢的工作其實也有更好的一些去處。關(guān)于互聯(lián)網(wǎng)發(fā)展,我覺得大家可以去思考一下大家自己職業(yè)發(fā)展路徑。我的演講就這樣了,下面我們就有請騰訊眾創(chuàng)空間空間武漢的負責(zé)人吳白露,然后由她來介紹一下這次我們聯(lián)合舉辦的情況。

吳白露 騰訊眾創(chuàng)空間(武漢)負責(zé)人

大家好!剛剛何總已經(jīng)給我暗示,他說不能來打太多廣告。我是騰訊眾創(chuàng)空間在武漢的負責(zé)人吳白露。今天面對下面這么多技術(shù)人員,我叫其實我是一個技術(shù)小白,我從剛剛深圳回來,過去三年一直做產(chǎn)品經(jīng)理的“產(chǎn)品狗”。我個人認為對技術(shù)的人還是比較了解的,我覺得程序員想的事情可能有幾點:第一,哪里可以聽到優(yōu)秀的技術(shù)分享。第二,怎么賺錢、更多錢、更多錢?第三,有什么好的崗位可以跳槽。第四,哪里有美女。

我們騰訊眾創(chuàng)空間自從去年11月在江夏開園了之后,今年4月份我們也爭取到光谷銀座的位置,這次首次來提出這個事情,之前都沒有說過。我自己跟政府溝通的情況就是大概今年下半年會在光谷大道這邊再開新的場地,可能就離在光谷創(chuàng)業(yè)的同志們更近了。我們目前也做過一些技術(shù)的分享,比如說我們請了微信的工程師來做了一些分享,還有FACEBOOK的技術(shù),還包括前段時間我們做的VR愛好者沙龍,如果大家真的有興趣參加一些技術(shù)性的活動,也可以關(guān)注我們騰訊眾創(chuàng)空間武漢的公眾號。

騰訊眾創(chuàng)空間是什么呢?可能很多人不清楚,大家看了VCR里面,有騰訊開放組團的合作伙伴,包括上游互動的CEO,都是我們騰訊開放平臺很好的合作伙伴,騰訊眾創(chuàng)空間其實是騰訊開放平臺在線上的一個資源,它絕對不僅僅是一個孵化器,我們上游承載的是騰訊開放平臺的所有的線上資源,包括應(yīng)用寶、微信、QQ、QQ空間里面所有的開放能力。那么線下我們會跟政府在當(dāng)?shù)剡M行一些合作,如果在座有一些成員是創(chuàng)業(yè)公司的話,希望你們跟你們的CEO老大說一說,歡迎大家跟我來聯(lián)系。

說到怎么賺更多的錢,如果是創(chuàng)業(yè)團隊可以告訴大家,我們這邊如何跟騰訊的流量合作,我們有一個叫“雙百”計劃的東西,去年2015年的時候,我們孵化了大概40家的項目,其中產(chǎn)生了像微影時代這種估值超過10億的,微信里面進去的電影票的微票兒,這個其實是我們原來在杭州眾創(chuàng)間孵化出來的。包括新三板的項目,還有美家?guī)停彩莿倓偵系男氯澹瑦倓尤椖渴窃谖覀冮_放平臺的扶持下,我們給它搞12倍的流量,然后整個項目就連著拉動起來了。如果大家有興趣的話,可以關(guān)注騰訊眾創(chuàng)空間武漢的公眾號。

接下來說什么崗位好跳槽,重點是找簡尋啊!剛剛說到雙百計劃,因為簡尋也是我們現(xiàn)在雙百計劃孵化項目之一,所以以后我們就會幫助他們,以后我們也會幫助更多雙百計劃。如果實在不知道跳槽去哪,眾創(chuàng)空間馬上孵化很多很好的項目都是騰訊看中,很可能未來會投資的,這些項目也歡迎大家來。

最后一點就是美女了,哪里有美女,比如說開放平臺的高級總監(jiān)未來也會到武漢來給我們帶來一些培訓(xùn)和講座,5月份的時候也會過來,還有我們的高級產(chǎn)品經(jīng)理也是很美,其實我并不是一個所謂的負責(zé)人,更契合于高級打雜的角色。

阮曙東 騰訊(武漢)技術(shù)負責(zé)人

阮曙東.jpg

武漢的兄弟姐妹們,大家好!我先做一個簡單的自我介紹,我是11年回武漢的,我04年華科畢業(yè)就進了訊,干到現(xiàn)在還在騰訊,今年已經(jīng)是第12個年頭,在深圳總部待了7年,第1年的時候可能大家在網(wǎng)上看到新聞,說騰訊在武漢設(shè)立研發(fā)中心,對不起那是我回來了,我們在武漢做的項目也好,我很希望有一個機會和武漢的同行們做一個交流。前兩周我在深圳出差,碰到白露說我們要在武漢搞一個分享,問我有沒有興趣講一講,我說很好。在武漢這么多年,我也接觸了一些中小型創(chuàng)業(yè)公司,與他們也有一些技術(shù)交流。我自己的感受是很多中小型比10年前創(chuàng)業(yè)技術(shù)方面要很多,因為現(xiàn)在開源技術(shù)非常成熟,基本上所有的東西通過開源技術(shù)搭出來。但是我發(fā)現(xiàn)很多問題,用開源技術(shù)做系統(tǒng),從0到1是比較簡單的,但是如果你想做好是很難的。我04年進騰訊的時候還是比較亂的,線上系統(tǒng)沒有測試,所有系統(tǒng)線上改了就發(fā)布,沒有測試階段。包括所有的代碼組織、客戶的投訴都是非常原始,經(jīng)過很多年的精心打造,已經(jīng)形成了自己的方向,中間也走了很多彎路,我自己也是深度參與其中,也了解里面的艱辛。包括很多公司在技術(shù)這一塊還是比較欠缺的,正好08年的時候組織了一系列培訓(xùn),把后臺技術(shù)做了一個完整性總結(jié),我也參與到其中,承擔(dān)公司的一些課程。我想通過這個機會把我自己所理解的與大家分享。

關(guān)于選題。第一,剛才也講了,從0到1,從1到100其實很難的。第二,我想講在線和離線,我今天講的所有的打造高效的工作系統(tǒng),都是在線系統(tǒng),沒有講離線。我個人覺得離線會更加成熟一些,不像在線系統(tǒng),運營起來會困難一點。在線系統(tǒng)更偏重于工程類的技術(shù),離線偏大數(shù)據(jù)也好,偏算法也好。第三,怎么定義高效?首先想到的是性能,我們所有人在做后臺開發(fā)的時候,都會關(guān)心服務(wù)器的性能怎么樣?實際上在我看來,可能10年前的服務(wù)器是2G內(nèi)存、兩核的,現(xiàn)在大多64G、四核、八核的,所以我覺得性能可能反而不是目前最首要關(guān)心的問題。相反對于你在系統(tǒng)開發(fā)過程中怎么樣快速開發(fā)、怎么樣快速運營,我們所謂的開發(fā)系統(tǒng)絕對不是說做完了上線就OK了,你需要去關(guān)注這個系統(tǒng)怎么樣,流量跌了沒有,瓶頸在哪里,你怎么運營和維護?

騰訊內(nèi)部的業(yè)務(wù)大家知道有很多,像QQ、微信絕對是具體的應(yīng)用,也有大中型應(yīng)用像QQ瀏覽器,也有偏小的一些應(yīng)用。這么多應(yīng)用我們做后臺的時候有沒有相關(guān)的設(shè)計的準(zhǔn)則和標(biāo)準(zhǔn)呢?回歸到08年的時候,當(dāng)時公司內(nèi)部大量業(yè)務(wù)的發(fā)展非常快,基本上每天都會出事故,我記得07年到09年,公司發(fā)郵件處理事故是最多的,基本上每天都能聽得見。我們當(dāng)時統(tǒng)計過一臺服務(wù)器基本上在它的生命周期內(nèi)一年掛一次,按照這個頻率,假如你的公司有300臺服務(wù)器,基本上每天都會掛一臺服務(wù)器,假如你的所有系統(tǒng)依賴于這些服務(wù)器,基本上你每天都在處理事故,每天都會對用戶有影響,怎么樣去解決這些問題,正是因為這些原因,公司內(nèi)部也是做了大量的優(yōu)化。

做技術(shù)而言,除了技術(shù)之外,開發(fā)人員更多的需要具備意識,意識有很多,我提煉了5個重要意識。第一,萬有一失。第二,大系統(tǒng)小做。第三,柔性可用。第四,過載保護。第五,先抗住再優(yōu)化。我就不細講了,大家去做的時候思考。關(guān)于性能,我們剛才講過技術(shù)有很多點,性能是其中最需要考核的一點。做后臺服務(wù)或者架構(gòu)也好,性能無非就兩點:一是提高CPU的利用率,二是減少系統(tǒng)IO。大家部分做后臺開發(fā)的所有的壓力都在IO上。關(guān)于性能提煉的是我自己關(guān)注的一些點,包括我自己碰到比較常見的,但實際上不僅僅這些東西。異步化,大家都追求系統(tǒng)整個系統(tǒng)全異步化,但是異步比較難,要做好不容易。協(xié)程式開發(fā),在座的人有沒有聽說過?很少的人。協(xié)程開發(fā)是這兩年比較火的一個技術(shù),比較成熟了,它的好處在于能夠做全異步化,而且全異步的代碼與你寫的同步代碼是一模一樣的,但是它可以做到全異步,具體怎么做我只告訴大家有這個技術(shù),怎么用大家自己去查。高并發(fā)epoll,是在06的時候火起來的,我們早期做大型游戲的時候,都覺得比較困難,一臺服務(wù)器支撐的在線人數(shù)是有限的。無鎖化,你做代碼的時候盡量不要去鎖。最后是減少內(nèi)核調(diào)用。

全網(wǎng)調(diào)度能力是可用性的關(guān)鍵衡量標(biāo)準(zhǔn),微網(wǎng)的服務(wù)都是72小時不停的,我相信所有后臺開發(fā)人員包括運維人員手機應(yīng)該長期不能關(guān)機的,我自己的手機就是這樣的。那么怎么保證系統(tǒng)是72小時,我們想靠人去保證是不可能的。然后08年我們做架構(gòu)優(yōu)化的時候,把可用性作為很重要的一項。整體來講分為容錯和容災(zāi)。容錯就是某一臺服務(wù)器掛了,容災(zāi)就是可能某個機房全掛了,容災(zāi)對于業(yè)務(wù)公司和業(yè)務(wù)人員是需要考慮的,對于容錯而言,我見過的做法都類似于DNS,沒什么難度。對于容災(zāi),在很多情況下是不依賴DNS,像遇到快速部署和遷移。我們希望整體的系統(tǒng)是能夠做全網(wǎng)調(diào)度,能夠把某一部分用戶請求指定到某一部分服務(wù)器上,能夠很快速完成調(diào)度,這種調(diào)度是智能化的,不需要人工參與的。在你服務(wù)器出問題,在你掉電的時候,所有這些都是潛移默化完成的,不需要人工操作的。

告警,我見過很多公司內(nèi)部沒有什么告警,出問題都是靠用戶投訴,這種是比較原始的做法。我們希望像流量這樣能夠通過圖片的形式展現(xiàn)出來,所有的曲線告警都能做到管理。我們剛進騰訊也很痛苦沒有監(jiān)控,最早的做法很簡單,公司有一個部門專門是做技術(shù),提供一個SET,你每次調(diào)動服務(wù)的時候就會調(diào)動它的接口,這種模式帶來一個很大的問題,每次開發(fā)都得去改,每個指標(biāo)都要去計,這個工作量非常大,模塊少沒關(guān)系,如果你有幾百個模塊,有幾千個接口,工作量就實在太大了,后來這套體系就沒人用了。通常SET是一個完整的系統(tǒng),能夠快速遷移、部署以及保證擴容。

灰度,公司內(nèi)部是從09年開始有這個概念,早期服務(wù)器做測試的時候,一般發(fā)個版本出來,發(fā)到某個服務(wù)器上,我們要求所有的后臺軟件做服務(wù)器發(fā)布的時候也需要采用灰度,當(dāng)然要根據(jù)業(yè)務(wù)的發(fā)展情況看。如何驗證版本的可行性?像終端軟件比較容易灰度,可以按模塊做灰度,按SET部署做灰度。

染色,創(chuàng)業(yè)公司從來見過有人做過。這個對系統(tǒng)要求特別高。什么叫染色呢?當(dāng)服務(wù)器規(guī)模比較小的時候,如何快速定位一個用戶的請求情況?我們想到的辦法是染色,當(dāng)用戶入口的時候,對用戶的請求做標(biāo)識,標(biāo)識完之后用戶經(jīng)過所有服務(wù)器的日志,都能統(tǒng)一匯總到另外一臺單獨服務(wù)器上去。

如何設(shè)計分布式框架?講講我自己的做法,當(dāng)然這個做法每個業(yè)務(wù)都不太一樣,其實都大同小異,沒有太大差異。最底層要實現(xiàn)一套協(xié)議,在協(xié)議方面我們要求幾點,最重要的是二進制可擴展,二是所有協(xié)議要自動生成,所有協(xié)議能夠通過一個描述文件能生成所有客戶端、服務(wù)端的鏈接碼。在協(xié)定基礎(chǔ)上我們提供一套公共庫,比如說怎么打印日志,提供給框架以及業(yè)務(wù)使用。在公共庫之上我們提供一套通信框架,完成兩個服務(wù)之間的信息交互,像同步/異步/單項。在通信框架之上我們提供了一套基于框架的平臺,方便管理所有框架運行的服務(wù),包括容錯、負載均衡等等。在平臺之上我們提供一套運營門戶,能做到開發(fā)人員不需要上服務(wù)器,甚至不需要知道服務(wù)器在什么地方,能看到服務(wù)器所有的狀態(tài),它的流量怎么樣、日志怎么樣,你不需要去接觸服務(wù)器。

最后講數(shù)據(jù),我認為數(shù)據(jù)是業(yè)務(wù)發(fā)展最重要最難重要的一部分,也是最孔苦的一部分,很多業(yè)務(wù)出問題都是在數(shù)據(jù)上。一般經(jīng)過三個階段,第一個就是性能,第二個就是安全性,第三個就是擴容性。數(shù)據(jù)是需要所有后臺人員重點去解決關(guān)注的,重點去看的。

未來是什么?我自己對于工程式開發(fā)就是在線開發(fā),是偏悲觀的?為什么呢?因為我覺得這條路基本上走到頭了,如果把在線式的服務(wù)叫工程,我認為像大數(shù)據(jù)應(yīng)定義為科學(xué),這一塊不僅僅需要你有工程能力,需要你有數(shù)學(xué),同時能應(yīng)用到你的實踐中。我認為這塊確實是未來,如果有興趣的同學(xué)我們可以多交流一下。

羅晟 木倉科技技術(shù)研發(fā)總監(jiān)

羅晟.jpg

我先簡單自我介紹一下。我大學(xué)畢業(yè)之后,第一份工作做大客戶銷售,你會發(fā)現(xiàn)一個單位也好、公司也好,推動部門其實是銷售部門,其他所有東西如果銷售不出去,后面東西做太多也沒有用。之后我和我的朋友創(chuàng)業(yè),東跑西跑做了一個不知名的項目,后來黃了,就去了Google。在Google待了1年多之后,去年我來到木倉。

我今天把題目改了,創(chuàng)業(yè)這個東西是實實在在解決東西,我不是為了標(biāo)新立異,我只是在當(dāng)下的情況解決當(dāng)下的需求。為什么要改這個題目呢?我回想了一下,如果回到我當(dāng)年自己也的時候,我會希望碰到什么?當(dāng)然這些我都非常感興趣,因為我自己經(jīng)常去把扒論壇,這種架構(gòu)性宏觀性的數(shù)據(jù)會非常吸引人,我會看得非常嗨,但是我回到自己當(dāng)時做東西的時候,有多少東西我能直接用得上。我把今天的主題改成了務(wù)實的技術(shù)。事實上作為創(chuàng)業(yè)公司,我們就是需要最快的速度、最經(jīng)濟的手段高效簡單的把問題解決。

請問現(xiàn)場有多少人聽過木倉科技的?聽說過駕考寶典嗎?駕考寶典是我們公司的開發(fā)產(chǎn)品,你們現(xiàn)在都用駕校一點通是嗎?如果說駕校一點通是PC時代駕考的王牌,那么我們駕考寶典就是移動時代的。這是我們公司的一些主要產(chǎn)品,有駕考寶典、違章查詢等等,我們是一個非常聚焦垂直領(lǐng)域的公司。我想問大家一個問題,提到創(chuàng)業(yè)你想到什么事情?我覺得程序員當(dāng)初我的想法是可以隨心所欲,各種各樣牛逼語言想到什么用什么。也許會想到用Java,當(dāng)時提到創(chuàng)業(yè)你是不是想到了我就馬上人生巔峰了。第一天,牛逼的點子誕生。第1周,產(chǎn)品上線。第1個月,天使輪來了……然后敲鐘上市,后面的畫面想想都非常美,想著迎娶白富美,其實迎娶白美就夠了,因為你已經(jīng)很富了。但事實上,一般期望很高,此處都有轉(zhuǎn)折。你會發(fā)現(xiàn),第一天已經(jīng)是示范的42個點子,好象不是特別酷。第1周由于你積累了前面41個項目代碼,上線很快。第1個月敲定了有點小激動,然后有了1000個、10000個用戶,有點小激動,要不要慶祝一下,但是囊中羞澀,錢都用來買服務(wù)器、帶寬,我可能只能買一份熱干面錢。經(jīng)常晚上2點,你的另外一個合伙人,他是前兼美術(shù)兼產(chǎn)品,然后打電話給你說,趕緊看看怎么回事?咱們夜貓子用戶也是用戶,然后你就蹭爬起來。你會發(fā)現(xiàn)就這么熬了很多年,并沒有說好的ABCD…出現(xiàn)在你面前。其實媒體宣傳的時候說,包括國家鼓勵創(chuàng)業(yè)其實因為就業(yè)有壓力。其實很多時候事實恰好相反,但是為什么還有那么多人前仆後繼,誰是曾經(jīng)有過或者現(xiàn)在想創(chuàng)業(yè)的,未來在你們手上面。

創(chuàng)業(yè)到底是什么?大家都知道庫里,他的特點是七八米遠扔3分,知乎上就有問,庫里這樣打籃球是不是失去了籃球的意義。我覺得張嘉偉先生回答非常好,從1981史密斯先生發(fā)明籃球的時候,就是讓學(xué)生玩,就是投進筐,這就是籃球的本質(zhì)。所以創(chuàng)業(yè)的本質(zhì)是什么?我個人感覺是發(fā)現(xiàn)需求,直觀的解決需求,在于創(chuàng)造需求、價值,如果這件事情要可持續(xù),那么就要賺錢,要收入大于支出,要開源節(jié)流。下有些朋友會問,大眾點評抗了七八年,有一次參加會議聽到有人說,大眾點評因為團購這件事賺錢了,他們看到了我的希望。京東到今天賺不賺也是個謎。但是我們大部分創(chuàng)業(yè)公司,如果你想下去,你不是只想活一把,是真正想做一點事情,就是要可持續(xù),就是要賺錢,就是要開源節(jié)流。

創(chuàng)業(yè)的另外一個特征,資源緊缺,缺錢、缺人、缺時間。很多問題是不用考慮的,你不用考慮缺錢的問題,也不用考慮缺人的問題,缺人的問題也會缺,但是相比小公司情況會好很多。怎么解決這三個問題,我認為就是我今天的題目簡單有效。缺錢,阿里云的流量,我當(dāng)年自己做的項目,我有兄弟一天罵阿里云三遍,但是到了今天,阿里云就像現(xiàn)在亞馬遜置于美國創(chuàng)業(yè)者的地位,給我們創(chuàng)業(yè)降低了很多門檻,我不用自己去買服務(wù)器,不用去找機房。阿里云流量問題是什么問題呢?您覺得作為一個技術(shù)人不寫代碼也體現(xiàn)出你的水平?你能不能寫出沒有bug的代碼?第一個問題的答案也許不明確,但是第二個問題的答案我相信大家都會說NO,誰有沒有信心說我寫的代碼是沒有bug。我們有一個通識,代碼越多bug越多,代碼越少bug越少,其實從這個角度來說,其實不寫代碼并能解決問題,我個人認為是很能體現(xiàn)出水平的,要么這個人非常聰明,第一次遇到這種問題有能有序解決掉,要么這個人經(jīng)驗非常豐富,不管是哪一種都是很有水平的人。當(dāng)一個問題出現(xiàn)的時間你就應(yīng)該去找出問題出現(xiàn)在什么地方?如果我向上不行就可以水平拓展。

用戶畫像計算,大家都用過,我們就是想通過事實來描述我們用戶,通過用戶畫像我們想回答幾個問題。第一,這個用戶是不是我們需要的用戶。第二,這個用戶喜歡什么。第三,這個用戶接下來可能會需要什么。對于第一個問題,比如說你去搜不存在的網(wǎng)站,它只會在一定條件觸發(fā)之后才讓你輸入,像木倉在某些業(yè)務(wù)情況下只要判定你是一個機器人,我們可能悄無聲息就把你干掉了。對于第二個問題,當(dāng)你搜索一個鍵盤,然后你回到首頁一刷新可能都是鍵盤。對于第三個問題,木倉的駕考寶典為例,當(dāng)你學(xué)完科目一了,我是不是就可以推薦相關(guān)科目二、科目三的東西給你,科目四之后你可能成為一個潛在車主,我們就可以推薦一些買車的東西給你。用戶發(fā)現(xiàn)這個東西非常有用,我們要實現(xiàn)這個東西,第一個要解決計算的問題,第二個要解決怎么使用的問題,第三要解決存儲的問題。

木倉是怎么解決計算問題的呢?我們沒有太多的資金投入但是我們還想做好,其實我們也是做分布式計算的,我們把一些計算任務(wù)直接分布到客戶端,只用計算自己的用戶特征,落實到技術(shù)層面,我們要做的就是一套規(guī)則,客戶端的計算框架,每個使用者只要在你編寫程序的時候,到我們中央注冊你的特征,然后規(guī)定自己的事件以及消化事件的時間助理器,你自己把規(guī)則寫好,然后發(fā)到服務(wù)器,服務(wù)器就會保存你的結(jié)果。這是一個妥協(xié)的結(jié)果,但至少在我們目前的狀態(tài)下是可以用的。

再講缺人的問題,我們經(jīng)常會聽到我有一個idea,我只是缺一個工程師,其實每個公司都在缺人,每天都在招人,其實今天我們到這個會場的目的也是為了招人,也是為自己的公司做一個宣傳。如果缺人這個問題不能解決,其實應(yīng)該是技術(shù)最擅長的部分,為什么呢?能夠用機器做的就不能用人做,因為有監(jiān)控系統(tǒng),我們在工作中經(jīng)常會發(fā)現(xiàn)一個問題,我寫了一個東西,發(fā)到我的郵箱,經(jīng)常會發(fā)現(xiàn)你的郵箱有大堆的報表你都不看,就沉在那里了,計算機的問題不像現(xiàn)實的問題,現(xiàn)實的問題如果說你造一個房子,有一個窗戶要掉了,很明顯就能一眼看出來,但是做過服務(wù)器的人都知道,一個服務(wù)器也許出了問題很久之后,不是用戶反饋出來,你根本不知道。我們需要把所有這些東西讓它浮出水面。

在公司我就推行做一個通用監(jiān)控器,其實還是那句話,簡單高效。我說出原理大家會覺得很簡單,而且谷歌里面其實也做了。它沒有任何的秘密,主要解決了通用的顯示前端的問題,它會根據(jù)你用戶的規(guī)則每隔1分鐘、每隔10秒、每隔1小時、每隔1天去一個固定的地方取一個數(shù)據(jù)來,形成觀測點的歷史數(shù)據(jù),然后前端顯示一下就完了。這個東西非常有用,各位如果是開發(fā)者創(chuàng)業(yè)的話,拿回去就可以用的,因為沒有任何難處。如果我們公司已經(jīng)超過了1年1億,我們最大的收入其實來自于廣告,廣告是否可用對于我們來說是生命線,廣告那邊對這個東西就有很大的需求,他們希望我們建一個全球廣告可用接頭,提供數(shù)據(jù)收集點,然后提供全球的探針,這個系統(tǒng)還可以設(shè)置它的報警預(yù)警,比如說我連續(xù)三次從青島某個接點的服務(wù),如果是200ms以上或者500ms,我就可以通過打電話、短信的形式通知定位群,他去解決這個問題。

最后缺時間,定位每個App都會用,大家一般都會用百度定位,但是我問過百度的同學(xué),他們說大概也只有99%的時候能返回我們需要的結(jié)果,還有1%怎么辦?每天可能還有數(shù)萬是不能送定位,這個不能送定位給用戶的服務(wù)企業(yè)就會有差別。這是提到技術(shù)方面的問題,我們還有一個頁面,在駕考寶典最后一個頁面叫百寶箱,是有一個類支付寶首頁的圖片模塊,這個問題是與業(yè)務(wù)相關(guān)的。創(chuàng)業(yè)企業(yè)求生存,我們需要快速定位到哪個業(yè)務(wù)是給我們賺錢的,我們需要一個高度的并知化的遠程和配制的部分。而且這個模塊可能要求可以調(diào)齊原生的其他的APP的界面,大家會怎么解決這個問題?其實我們相當(dāng)于協(xié)議的方式。

講了這么多,我是想用5個很小的例子來體現(xiàn)我們在日常生活中、工作中怎么用很簡單的東西來解決一些問題,就是簡單有效、容易維護,有一定的拓展性就OK了。因為你沒有那么大的能力去設(shè)計一套完美的東西,由于我們非常努力解決了各種各樣的問題,從現(xiàn)在這個角度來看,我們木倉的架構(gòu)還是有很多提升,我們有業(yè)務(wù)系統(tǒng)、通用模塊系統(tǒng)、基礎(chǔ)架構(gòu)、離線計算系統(tǒng)等等。我們想體會一個很小的創(chuàng)業(yè)公司是怎么通過這些東西把事情做到一定的規(guī)模,是怎么通過極其有限的資源來解決五花八門的事情,來做成一件事情。謝謝大家!

王歡 盛天網(wǎng)絡(luò)大數(shù)據(jù)架構(gòu)師

王歡.jpg

大家好!我來自盛天網(wǎng)絡(luò)數(shù)據(jù)分析部,我叫王歡。非常高興可以和這么多技術(shù)大咖做一個交流和分享,但我不是技術(shù)大咖。我只是一個踏踏實實做技術(shù)的女漢子吧!我今天廢話不多說,我講的實際上是我們盛天網(wǎng)絡(luò)大數(shù)據(jù)的發(fā)展。大家可以把發(fā)展當(dāng)做一個故事來聽,提到講故事,一般會說到過去、現(xiàn)在和未來。我今天講的主題也分為這三個部分,一個是原來的我們、一個是現(xiàn)在的我們、還有一個是未來的我們。我分別用了三個詞來比喻和描繪,分別是洪荒年代、三國鼎立、詩和遠方。

洪荒年代是說我們原來比較原始的一個日志和數(shù)據(jù)的處理方式,三國鼎立是目前大數(shù)據(jù)比較熱門的三個系統(tǒng),現(xiàn)在是三駕馬車并駕齊驅(qū)在我們系統(tǒng)里面應(yīng)用。詩和遠方是代表我們對大數(shù)據(jù)發(fā)展及我們公司數(shù)據(jù)系統(tǒng)建設(shè)的一個美好愿望,相信我們這邊會把技術(shù)和系統(tǒng)做的更好、更快速和穩(wěn)定。

第一篇是原來的我們,我們稱之為一個數(shù)據(jù)統(tǒng)計系統(tǒng)。是比較簡單的原始方式,用戶訪問我們的服務(wù),通過LVS把數(shù)據(jù)請求放到WEB服務(wù)器上,WEB服務(wù)器的實現(xiàn)是C模塊+PHP+mysql的模式,最后通過電視腳本把數(shù)據(jù)導(dǎo)入到數(shù)據(jù)倉庫里面做一些數(shù)據(jù)分析。我相信大家看這張圖存在一些問題,我們mysql會存在一些負載的問題,包括數(shù)量大了之后就會比較慢,所以導(dǎo)入導(dǎo)出會存在一個較高延時。我們開發(fā)的C模塊并發(fā)不高,另外里面會有較多維護,也很難擴展,這是最原始的方式。漸漸的這個系統(tǒng)就無法滿足需求,這大概是2012到2013年的模式。

盛天網(wǎng)絡(luò)是一個發(fā)展比較快速的公司,我們從2011年到2014年不停的會有一些產(chǎn)品去上線,上線之后這些產(chǎn)品就需要做一些數(shù)據(jù)分析,包括這段時間大數(shù)據(jù)的熱門,一些業(yè)務(wù)部門的產(chǎn)品經(jīng)理,包括運營人員會對數(shù)據(jù)有一個很高的依賴和需求,因為我們是基于網(wǎng)吧做一些技術(shù),有一些統(tǒng)計可能在網(wǎng)吧的服務(wù)器端進行計算會有一個受不了的情況,也會抱怨。包括數(shù)據(jù)阻塞就被丟棄,包括有些粒度可能粗了,甚至有些運營人員會提出你的數(shù)據(jù)可以實時嗎?就是報表和數(shù)據(jù)聯(lián)動這一塊。基于以上的情況我們大概在2013年底到2015年的時間,我們建設(shè)了三套大數(shù)據(jù)的平臺,2013年我們建設(shè)了Hadoop,2014年我們上線了Storm,2015年是Spark,還有周邊的一些產(chǎn)品。

下面我會具體介紹如何運用開源產(chǎn)品包括加上自己的二次開發(fā)資源去完成公司的數(shù)據(jù)分析、預(yù)測以及實時計算。總的來說,從數(shù)據(jù)存儲、協(xié)作服務(wù)、數(shù)據(jù)挖掘、服務(wù)器監(jiān)控,我們用的大數(shù)據(jù)生態(tài)管理平臺的產(chǎn)品很多,但是我們是怎么把它用到實際上去的呢?在我們系統(tǒng)到底是什么樣的框架和模式呢?第一步是用戶接入,包括一些服務(wù)端的數(shù)據(jù)和采集的日志數(shù)據(jù),統(tǒng)一接入到Network Message Queue,通過這個消息我們達到后端的離線批處理和實時計算,黃色的部分是屬于數(shù)據(jù)流的部分,左邊表示數(shù)據(jù)落地,右邊是實時流計算,通過這兩套系統(tǒng)我們開發(fā)了管理平臺,便于用戶接入以及工作更高效,包括監(jiān)控管理。框架的最下面,我們?nèi)ツ晗掳肽暧肧park steaming,圖的右邊是一些存儲的數(shù)據(jù)庫,可以看到箭頭是一個紅色的雙向箭頭,我們從這個數(shù)據(jù)庫可以拉一些數(shù)據(jù)過來輔助計算,也可以通過計算把數(shù)據(jù)輸入到存儲系統(tǒng)去用。

我們?nèi)绾稳崿F(xiàn)離線和實時計算。我們數(shù)據(jù)搜集統(tǒng)一入口的地方用的DNS接收http和https的請求,然后放到消息隊列里面,這個產(chǎn)品是包括兩個進程,我們建這個產(chǎn)品主要是跟我們業(yè)務(wù)結(jié)合非常緊密,我們可以做到分產(chǎn)品線去管理、分Data Business管理,自定義過濾和校驗、后端故障容錯、落地即入庫、數(shù)據(jù)文件按照時間切片、中間數(shù)據(jù)時效性管理、后臺小文件合并/壓縮。

實時流計算的一個系統(tǒng)架構(gòu),我們采用的也是開源的Flume,數(shù)據(jù)到了Kafka,是一個消息中間介,相當(dāng)于一個pull五的方式,我們把數(shù)據(jù)拉出來之后可以供很多的下流去處理,不僅僅是Storm的集群。我們單獨搭建了一個Zookeeper的集群,去做一些配置、狀態(tài)、心跳的管理,去管理接點是否在線等等。

剛才講的這兩套系統(tǒng)實際上是基于比較通用的數(shù)據(jù)平臺,我們大家做數(shù)據(jù)時間長了之后,可能我們自己就會有一個比較清晰的數(shù)據(jù)流向的認識。從左邊看,數(shù)據(jù)導(dǎo)入—數(shù)據(jù)接入子系統(tǒng)—ETL子系統(tǒng)—實時子系統(tǒng)、批量子系統(tǒng)、存儲子系統(tǒng)—查詢系統(tǒng)—用戶展現(xiàn),這是一條流,在這條數(shù)據(jù)流上有一些調(diào)度,看橫向部分,是數(shù)據(jù)管理的心臟和大腦,是不可缺少的,監(jiān)控各個子系統(tǒng)是不是正常運行的,去做一些計算的業(yè)務(wù)接口的一些調(diào)度,還有人數(shù)子系統(tǒng),和我們平常說到的數(shù)據(jù)源可能不一樣,一個數(shù)字最原始的數(shù)據(jù)做到我們系統(tǒng)到底是一個怎么樣的運算變換,實際上需要一個人去進行管理,知道這個表來自于哪個業(yè)務(wù),后面流向哪里?我們系統(tǒng)數(shù)據(jù)也是來源于這樣一個模式和思路。

縱向數(shù)據(jù)流就是5個步驟:數(shù)據(jù)采集—數(shù)據(jù)傳輸(實時/批量)—數(shù)據(jù)建模/存儲—數(shù)據(jù)統(tǒng)計/分析/挖掘—數(shù)據(jù)可視化/反饋,我們在這5個步驟上去做一些文章,數(shù)據(jù)平臺架構(gòu)可能更多的核心在2、3、4個步驟,怎么去發(fā)揮我們主觀聯(lián)動性,創(chuàng)造一個更好的系統(tǒng)。

我們開放了一站式管理平臺,包括離線統(tǒng)計一套和流式計算一套。管理平臺幫助我們更快速更有效去接入大數(shù)據(jù)的流失工作。在數(shù)據(jù)接入的時候我們一個公司可能有很多的產(chǎn)品線,我們會有N多個表,源數(shù)據(jù)跟表之間在數(shù)據(jù)接入管理平臺上面直接去進行一個目錄就接入進來了,我們對每一個數(shù)據(jù)需求實際上進行了一個模塊化的管理,進行數(shù)據(jù)錄入和配置,導(dǎo)出數(shù)據(jù)。模塊依賴+后置操作的關(guān)聯(lián)管理。臨時查詢進行下載和繪圖。郵件報表方便老板查看。生成倉庫的元數(shù)據(jù)管理。流式計算部分,需求錄入包括topology聲稱,秘匙生成。資源管理包括:work分配,topic注冊,代碼版本管理包括接入SVN,一建上線。程序變更包括更新、刪除、啟停。

除了管理平臺之外,我們做數(shù)據(jù)流還有一個比較關(guān)心的問題,我們的數(shù)據(jù)在哪個層面會出現(xiàn)一些問題,像實時流量監(jiān)控,流量分層統(tǒng)計與預(yù)警,我們采取的方案是通過Metric信息,存到我們自己去用的Rrdtool格式,通過Echart數(shù)據(jù)分析,拿到SparkMlib里面去分析,不同的層級會發(fā)出不同的預(yù)警。我們?nèi)绾斡瞄_源的產(chǎn)品去實現(xiàn)離線計算和實時計算,沒有具體介紹代碼和遇到的問題。

未來的我們,我講的不是很遠,因為技術(shù)的發(fā)展特別是大數(shù)據(jù)的發(fā)展非常快速,所以我講的未來僅僅是我們2016年的計劃,我們可能會在四個方面突破,一是可視化建設(shè)(kylin+zeppelin+二次開發(fā),二是數(shù)據(jù)整合應(yīng)用(元數(shù)據(jù)管理:血源分析、信息地圖),三是智能算法臺(算法庫、自動調(diào)優(yōu)),四是更多關(guān)注數(shù)據(jù)的價值(挖掘類投入和產(chǎn)品研發(fā))。基于這些計劃,我們今年會去建設(shè)一個體系結(jié)構(gòu),我們會在平臺管理層、存儲層、數(shù)據(jù)層、算法層、應(yīng)用層去做一些工作,黑色的部分是我們自己已經(jīng)有的系統(tǒng),紅色的專題分析、交互式分析、BI門戶以及實時效果評估是我們會去做的工作。

圓桌討論一——《程序員的技能增長途徑和方式》

圓桌一.jpg

胡繼堂:我是海豚瀏覽器的胡繼堂,我是2007年參加工作的,之前在微軟公司,現(xiàn)在是在海圖瀏覽器負責(zé)技術(shù)方面。

柴楹:大家好!我們是來自卷皮的柴楹,我現(xiàn)在是負責(zé)大數(shù)據(jù)的實時、離線以及大數(shù)據(jù)分析。我們公司在7月到8月有一個技術(shù)分場,大家可以關(guān)注一下。

王怡:大家好!我是來自一號店的王怡。

何斌:大家可以給我們分享一下各自的技能增長和方式?

胡繼堂:我大學(xué)是在武大,06年的時候一次很偶然的機會,我投了微軟的實習(xí)生,也是一個偶然的機會,通過了面試達到了微軟工程院實習(xí)的機會,一直到07年的時間我們一直在實習(xí)。如果把我的技術(shù)成長經(jīng)歷分為三段:第一段實習(xí)生涯是我的起點,這個經(jīng)歷其實對我講意義最重大的,它把我從武漢一個視野比較狹窄的學(xué)生,直接拉到了北京業(yè)界最頂端的團隊,這段時間微軟給了我這個平臺和視野。相對于北上廣的學(xué)生來說,我是有差異的,能夠感受自己與他們之間的差距,因為我在北京也沒有朋友,一周7天一天12個小時都在工作,我付出了很多的時間,主要是為了彌補自己跟其他從北京實習(xí)生的差距。當(dāng)然這段時間學(xué)習(xí)對我非常有價值,當(dāng)我應(yīng)聘正式的工作時候,會發(fā)現(xiàn)我這段時間的提升已經(jīng)足以讓我去面對比較苛刻環(huán)境。

第二個階段是進入小米,小米是2010年4月份成立的,培養(yǎng)了我非常好的習(xí)慣,解決一個問題的時候不光是幫他去解決,同時也可能有機會去探討。第三個階段是進入海豚瀏覽器,當(dāng)時只有兩三人,基本上也是才開始,各種開發(fā)方式以及流程都很落后,因為我對技術(shù)很感興趣,同時也接觸過一些教育先進的例子,所以我發(fā)揮了比較大的作用,引進了一些工具方法流程去改造技術(shù)開發(fā),然后一直到現(xiàn)在。

柴楹:我也是2007年畢業(yè),畢業(yè)后在北京,我是做java開發(fā)的。我成長感悟的第一個點,作為一個程序員不要怕吃苦,你要敢于多承擔(dān)項目。比如說我最開始做的一個項目,是給一個保險公司做資金系統(tǒng),人不多,從頭到尾所有的設(shè)計、編碼、運維等等全部都是自己搞定,這個項目也比較好笑,我基本上早上9點上班,晚上10點下班,沒有星期六、天,一直加班了半年,然后我就問我們的項目經(jīng)理,我覺得我有點不適合干IT這行,太苦了,有點抗不住,但是確實經(jīng)過了這一段,我發(fā)現(xiàn)無論我的代碼積攢,還是我架構(gòu)的一些思維,整個能力提升是非常快的。第二個點,我是2011年從北京回武漢,但是進了1號店,是看著1號店成長的,這個時候有一個技術(shù)轉(zhuǎn)型,不要怕技術(shù)轉(zhuǎn)型,看到自己喜歡的東西就要去做,馬云也說了,數(shù)據(jù)未來就是一塊寶藏,我就是想做數(shù)據(jù),所以做數(shù)據(jù)轉(zhuǎn)型,前面學(xué)的東西可能都沒有用了,重新開始學(xué)習(xí)、分析、挖掘一系列的東西。第三個點,有點忘了。

王怡:我回想一下我很普通,因為很多嘉賓說自己畢業(yè)于華科、武大,畢業(yè)之后去了谷歌、百度或者小米這樣的公司,而我畢業(yè)于武漢的一個普通高校,畢業(yè)之后去了北京一個普通的IT公司,其實當(dāng)時互聯(lián)網(wǎng)還不是主流,還是比較傳統(tǒng)做一些項目開發(fā)。當(dāng)時我觀察到了一種現(xiàn)象,每次到了年會開會的時候,技術(shù)員工領(lǐng)獎,老板說的表揚的話往往是很努力、加班很多、生了小孩都不回家去看、自己生病都不去醫(yī)院,全是各種很苦逼的一些案例,我們的男生女生技術(shù)員工都這樣賣自己的肉體或精神去獲得公司的獎勵嗎?我覺得這是對我們技術(shù)人員的一種侮辱,但是我在想在我的公司里面或者是我能接觸的人里面,我感覺最努力的不是技術(shù)員、不是程序員,是項目經(jīng)理。項目經(jīng)理既要談需求,又要負責(zé)框架搭建,還要寫代碼,還要招人,還要別人寫代碼,做項目經(jīng)理是非常累非常辛苦的事,但真正你把項目做好了其實很有價值。這是我當(dāng)時在北京做一個第一次的改變,后來我是11年回到武漢這般,當(dāng)時從一個傳統(tǒng)公司到了1號店的互聯(lián)網(wǎng)公司,當(dāng)時去1號店我完成了第二次轉(zhuǎn)變,如果你還是做技術(shù)人才,你怎么去從以前的程序員、項目經(jīng)理這種關(guān)注于交互變?yōu)殛P(guān)注于價值,你做了這些產(chǎn)品和功能,你到底有什么價值?用戶真的是滿意嗎?他為什么不滿意?你不是為了交互而工作,你是為了價值而工作。這是我在1號店的第二個轉(zhuǎn)變。

柴楹:我補充一下,第三點是要善于總結(jié),你去面試一些人,有些人簡歷很高校,寫的3年工作經(jīng)驗,其實才畢業(yè)2年,他說我加了1年班,有些人甚至工作5年,他是拿2年的經(jīng)驗多干了3年,他沒有一個總結(jié),你在做一些工作的時候,你踩過那么多坑,你如果總是疲于奔命在工作,滿足各種需求,沒有一個思考我為什么要這么做,我最近學(xué)到什么,上升一個層次是什么樣子,只要這樣你才能從一個程序員往首席架構(gòu)師上去轉(zhuǎn)變。

何斌:無論是經(jīng)歷第一個技術(shù)的坎,或者是擔(dān)起項目經(jīng)理的職責(zé),有一個很重要的感覺是敢于承擔(dān),總結(jié),我總結(jié)一點,跟著一個公司發(fā)展,跟著公司的早期進入,跟著公司很小的團隊成長,公司的成長速度可能會給你更大的壓力促使你快速學(xué)習(xí),這個就看自己的機遇和眼光。在場的很多在一些創(chuàng)業(yè)公司或者是偏傳統(tǒng)型的公司工作,因為武漢本地的互聯(lián)網(wǎng)公司數(shù)量比較少,加起來幾百人,大部分都偏于常規(guī)的公司,進入這種小公司沒有人帶,像海豚、1號店、卷皮有一套很完整的培訓(xùn)體系,但是一些創(chuàng)業(yè)公司就沒有這樣的體系該如何去學(xué)習(xí)呢?

柴楹:我就舉我自己做的大數(shù)據(jù)圈子,很多東西都是開源的,你可以在網(wǎng)上自己去看一些資料,甚至參與一些討論,現(xiàn)在中國整個技術(shù)分享的活動其實很多,可以去關(guān)注這些東西,你如果有一些機會有人引薦你甚至可以去加入到一些開源項目里去。

胡繼堂:一個是積累,另外一個是方法。最終的目的是構(gòu)建知識體系也好,技能體系也好。你做任何一件事情想達到一個高度,你必須要去完成,你必須發(fā)動時間在這個領(lǐng)域上有沉淀,可能這個過程很慢,但是只要跨過這個起點,后面就能迎難而上了,這是必須要經(jīng)歷的。方法是讓你構(gòu)建知識體系更加快速有效,在一個好的公司,會要求你工作方法,你在這個里面會受到好的熏陶,積累更多。知識體系,大家在學(xué)第一門編程語言花了多長時間,也許不是最難的但是花的時間一定是最長的,同樣你在學(xué)習(xí)第二門、第三門的時候就很容易了,哪怕是很難的。因為在學(xué)第一門的時候已經(jīng)把你的知識體系構(gòu)建起來了,后面你學(xué)習(xí)一門新的東西的時候,是在完善你的知識體系,就會比較快。我最近在招聘你會發(fā)現(xiàn),很多人只有一兩年的工作經(jīng)歷的應(yīng)聘者,偶爾會碰到號稱四五年以上的求職人員,你會發(fā)現(xiàn)其實也差不多,所以積累、方法很重要。

王怡:剛才主持人問怎么更快短時間提升技能增長,我感覺自己主動性強的話抓住兩點:一是外部環(huán)境一定要好,你要找的公司一定重視技術(shù),不要把技術(shù)人員當(dāng)做一種負擔(dān),一定是很重視你的。二是對自己的要求,雖然武漢創(chuàng)業(yè)型公司很多,創(chuàng)業(yè)的精神和心態(tài)是非常難能可貴的,比如說一個團隊,6到12人的一個小團隊,最小不超過6人,最多不超過12人,如果你想提高自己的能力,你一定要在團隊中對自己有要求。

何斌:無論是學(xué)生或者是社招的人員,除了基礎(chǔ)的技術(shù)能力之后還會看哪些方面的能力呢?

柴楹:第一是興趣,第二是學(xué)習(xí)能力。我去年招的實習(xí)生實際上不是計算機專業(yè)的,但是他想做大數(shù)據(jù),但是又沒做過,然后我給了他一堆資料,自己回去把寢室?guī)着_電腦搞一個集群自己玩一下,到底什么情況再來跟我面試,看你能跟我聊多少,他搞了一個禮拜,后來面試的時候已經(jīng)超過了我覺得他能學(xué)習(xí)到的期望,我看到了他的學(xué)習(xí)能力,而且他這么執(zhí)著,他是有興趣的,那我覺得這個人就是我想要的。

胡繼堂:我也贊同興趣,另外還有一點是實際動手能力和實踐經(jīng)驗。我建議大家可以參加一些比較實際開發(fā)的項目,或者可以自己參與一些開源項目。

王怡:我是從2011年在這邊開始面試的,應(yīng)該面試有1000人左右了,因為我們有兩個渠道,我往往會去看他有沒有很清晰表達出自己實際解決問題的呢?有的IT同志會說自己做了很多事情,也做了很多開發(fā)工作,但是并沒有做一個有效的梳理了總結(jié),說不出自己在項目中做的具體事情,面試的時候你說你自己會什么,自己做過什么,你只用說我曾經(jīng)在什么項目里面,曾經(jīng)在什么需求中具體的困難是什么,做什么具體的事情,結(jié)果是什么,結(jié)果的好壞,在這件事情有沒有真正付出自己的思考和努力。

(抽獎環(huán)節(jié))


黃勝藍 極驗驗證CTO

黃勝藍.jpg

大家好!我今天講的是高并發(fā)驗證服務(wù)背后的技術(shù)實現(xiàn),主要是講上線服務(wù)。我們給redis進行一個注冊,寫入時客戶端通過一致性hash,寫入當(dāng)前機器與hash環(huán)上的下一臺機器,實現(xiàn)數(shù)據(jù)冗余。讀取時從當(dāng)前機器讀取,失敗則從hash環(huán)上下一臺機器讀取。所有機器不區(qū)分主從,擴容、故障恢復(fù)速度等快,運維成本更低。

嵌入式緩存,先提一些問題:大并發(fā)下數(shù)據(jù)庫往往成為瓶頸。大量的數(shù)據(jù)庫連接以及大量掛起等待的協(xié)程也將成為性能殺手。解決方案是什么呢?通過緩存盡可能減少數(shù)據(jù)庫查詢,所有查詢完全遵循緩存中的數(shù)據(jù),緩存定期與數(shù)據(jù)庫同步,緩存直接嵌入服務(wù)進程內(nèi),實現(xiàn)幾乎零開銷查詢,由于Python的GIL存在,我們利用mmap實現(xiàn)進程間共享內(nèi)存。

提升計算性能。涉及到語言性能,利用Cython將計算密集代牧編譯程擴展模塊供Python調(diào)用,控制神經(jīng)網(wǎng)絡(luò)規(guī)模,同時優(yōu)化計算效率。大家可以看About Cython,第一行其實非常有意思,直接去編譯成一個靜態(tài)模塊,甚至可以去做代碼原封不動,動態(tài)語言為什么會比靜態(tài)語言速度慢那么多,實際上大量的計算環(huán)節(jié)不是在解釋代碼,問題在于動態(tài)語言在計算過程中要去大量類型的判斷,甚至去把效果拖慢10倍以上,Cython可以把一些類型做一個靜態(tài)話的標(biāo)準(zhǔn),動態(tài)語言最慢的一點是做靜態(tài)的表達。

優(yōu)化神經(jīng)網(wǎng)絡(luò)的計算速度。1、不斷調(diào)整參數(shù),加大訓(xùn)練迭代次數(shù),保證足夠精度下網(wǎng)絡(luò)規(guī)模最小。2、預(yù)測時加入DropOut為,部分神經(jīng)元不參與計算,減少計算量的同時一定程度避免過擬合。3、利用小網(wǎng)絡(luò)學(xué)習(xí)大網(wǎng)絡(luò)所提取到的特征。4、利用現(xiàn)代Cpu的SIMD指令集加速計算——使用優(yōu)化過的Blas庫例如OpenBLas。

吳瑞誠 斗魚TV大數(shù)據(jù)團隊負責(zé)人


很高興能有這個機會跟大家分享。我覺得跟前面幾位相比下,我們是從一個小公司,從14年的時候進斗魚,今年年初有200人。我是2011屆從華科通信系統(tǒng)碩士畢業(yè),畢業(yè)之后做了淘寶大數(shù)據(jù)開發(fā),然后又去了一號店架構(gòu)師,現(xiàn)在就是斗魚大數(shù)據(jù)負責(zé)人。我主要講實時計算方面的,比較適合小公司和學(xué)生,回去之后就可以進入框架。

大家現(xiàn)場有多少人聽說過斗魚,斗魚目前全平臺DAU1500萬、PV1.5億、MAU2億萬、PCU400萬;每天活躍駐波近20000人,每天產(chǎn)生原創(chuàng)視頻數(shù)萬小時;斗魚的ALEXA排名;全球前300名、全國前30名。實時計算主要包括三個內(nèi)容:實時日志檢索—NGINH/PHP日志;實時CEP系統(tǒng);實時流計算。我會把我們公司用戶的行為流給大家做一個分享。

這是我們公司的大架構(gòu)圖,這中間的每一塊到最開始的原型都經(jīng)歷了很多階段,也都是血的教訓(xùn),今天會把第一手經(jīng)驗分享給大家。最下面是我們的數(shù)據(jù)源,有Tracker、Heartbeat等等,往上一層就是數(shù)據(jù)統(tǒng)一接入:Kafka,是我們今年要實現(xiàn)的目標(biāo),現(xiàn)在的數(shù)據(jù)量越來越大,數(shù)據(jù)流也越來越多,我們會統(tǒng)一接入到Kafka里面,進入到數(shù)據(jù)ETL與計算。開始的時候沒有很明顯數(shù)據(jù)倉庫的規(guī)劃,主要是基于HDFS做的存儲計算。我們團隊中心在實時計算會放在Spark方面。進入到整個數(shù)據(jù)服務(wù)層,非常有必要跟大家強調(diào)一下平臺的監(jiān)控。

實時日志檢索,從前是grep+awk,然后是rsync+Hive UDF ,現(xiàn)在是ELK。Flum包括選型、Channel、Flume監(jiān)控。實時CEP系統(tǒng),從前是Redis,然后是HBase,現(xiàn)在是TSDB。關(guān)于HBase,它確實比較靈活,它有自己的一個拓展,而且背后有很多大的萬家,比如說Facebook,像阿里可能會稍微邊遠一點,如果一直用開源就體現(xiàn)不出自己的價格。Rowkey設(shè)計是關(guān)鍵,不適宜多維度索引、需要事務(wù)、穩(wěn)定性要求極高。還有關(guān)于OpenTSDB ,有一個周期IO波動問題。為什么需要實時流計算,以前是靠猜,然后Redis,現(xiàn)在Storm+Spark Streaming。分析用戶行為的目的,怎么打點,每個公司做法都不一樣,我這邊是借鑒淘寶的做法。

圓桌討論二——程序員在武漢的職業(yè)發(fā)展之路

何斌:大家談一下程序員在武漢的職業(yè)發(fā)展之路

黃錦:我其實在北京待了7年,最早是在微軟,然后海豚,13年回到武漢,我是為了理想。我主要還是業(yè)務(wù)上的原因,海豚的總部是在武漢,更多業(yè)務(wù)重心是在武漢,我作為海豚北京的第一個員工。加上我是武漢,所以回到武漢有2年多的時間。

趙威:我是12年回到武漢的,我之所以回武漢,大學(xué)7年都在武漢,其實我之前是在北京的百度,我認識的朋友大多都在朋友,如果我想創(chuàng)業(yè)什么的就只有回武漢。

劉超:我回武漢是被丈母娘逼的,之前是在杭州阿里,后來有一些機緣巧合就進了SendCloud。

湯泉:我11年回的武漢,入職海豚航班管家H5。我本身是武漢人,另外一個更重要的原因是,當(dāng)時我在北京遇到一點困難,主要是我個人的一些想法和問題,跟工作沒有關(guān)系。

黃錦:我覺得取決于自己的情況,出去還好還是留下來好,大環(huán)境下武漢比一線城市差很多,你所處的團隊怎么樣,你能不能學(xué)到東西,能不能有所成長,我覺得是最重要的,所以還是看自己的情況。如何去挑選一個好的團隊,大家也看到武漢這邊可能還是以創(chuàng)業(yè)性團隊為主,怎么去挑選呢?我認為第一點,看老板,老板的風(fēng)格決定了創(chuàng)業(yè)團隊的風(fēng)格,你作為老板你要有意愿去分享。一個成功的老板必須要有一定的氣量,容忍員工去犯錯。老板要以身作則,很多事情上要去帶頭。對技術(shù)人員來說,你可以看看團隊有沒有工程師文化。所以總結(jié)三點就是:看老板、看團隊、看工程師文化。

趙威:因為我們主要是做海外市場,在哪里對客戶來說無所謂。

劉超:我覺得還是看個人,你一天只有24小時,你愿意把時間放在哪里?公交車上、地鐵上?一線城市給你更多的是資源,對于做技術(shù)來說,資源永遠不缺乏,而我們要去用我們的能力、教育從他們手上去搶奪資源。所以更多是考慮自己去選擇。

湯泉:我比較贊同劉超的說法。無論是決定留在武漢還是來武漢還是回武漢的,我相信一定有一個原因,如果沒有這個東西,單純?nèi)恼w局面看,雖然每個人看東西的點不一樣,但是薪水方面還是影響力的因素,畢竟北京和武漢的差距還是很大的,如果你沒有一個很強的原因去平衡,或多或少都有一些不平衡的地方。我們之前有比較大公司和小公司,在武漢機會沒有北京那么多,但是在武漢更多的是創(chuàng)業(yè)的氛圍和鍛煉的機會。在這邊的公司有團隊,如果你從外面突然回來,你的預(yù)期會有很大的影響。所以還是每個人還是要看自己最重要的點。

提問1:貓頭鷹的產(chǎn)品是什么?

黃錦:大家可以理解是收藏品的一個社區(qū),因為啟動時間不長,所以大家不知道,主體上還是在探索,更多希望去看一下傳統(tǒng)行業(yè)和互聯(lián)網(wǎng)之間的聯(lián)系。

提問2:海豚瀏覽器一直做海外產(chǎn)品推廣,現(xiàn)在做的怎么樣?國內(nèi)的市場會怎么樣?

胡繼堂:我們主要精力還是放在海外。

提問3:我是從事傳統(tǒng)的面對交付型的行業(yè),進入到互聯(lián)網(wǎng)圈子里,會面對的最大的挑戰(zhàn)是什么?

吳瑞誠:我們在篩簡歷的時候,做傳統(tǒng)軟件確實有一些差別,具體有多少差距來細,主要還是應(yīng)用環(huán)境的原因,我覺得還是可以看一下簡尋,他們公司有很多招聘的要求,我覺得還是很明顯的,還有盛天也是從傳統(tǒng)轉(zhuǎn)過來的,可以借鑒一下,所以我覺得看市場需求。


提問4:我因為剛到武漢這邊來,想問一下這個平臺是簡尋提供的嗎?我是阿里云的,非常高興參加這個會議。

何斌:其實是我跟幾位學(xué)長聊天的時候想法的,也一直是我們想做的事情。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,825評論 6 546
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,814評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,980評論 0 384
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 64,064評論 1 319
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 72,779評論 6 414
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 56,109評論 1 330
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,099評論 3 450
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 43,287評論 0 291
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,799評論 1 338
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 41,515評論 3 361
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,750評論 1 375
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,221評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,933評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,327評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,667評論 1 296
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,492評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 48,703評論 2 380

推薦閱讀更多精彩內(nèi)容