乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      云端數(shù)據(jù)處理,讓服務(wù)更輕

       看見就非常 2015-04-23

      【龐向才】:今天介紹七牛繼續(xù)做云端這樣數(shù)據(jù)的一些事情。

      第一個簡單聊聊計算本身的一些事情,過去從PC開始用起的時候,那時候單機系統(tǒng)比較多一點。像2000年左右的時候,對于我們做外部的應(yīng)用、做單機的一些應(yīng)用,基本上那時候數(shù)據(jù)也比較low一點,沒有接觸過高大上的系統(tǒng)。那時候所有的東西都設(shè)在單機上面,然后包括數(shù)據(jù)庫,那時候還沒有Git。很久以前沒畢業(yè)的時候,在北京一家公司做兼職,做系統(tǒng)運維相關(guān)的工作時,系統(tǒng)比較亂,一臺機器只有幾十G的硬盤,都堆在上面。再往下面到了hadoop階段,這時候分布式的文件系統(tǒng),除了自己沒有開源以外,會有各種實現(xiàn)。

      p1.png

      對于hadoop來講話,它數(shù)據(jù)本身是公布的,它的框架里面是說我計算的代碼可以用各種語言實現(xiàn)。你可以調(diào)動各種不同的任務(wù),然后來執(zhí)行??偟膩碇v就是讓計算離數(shù)據(jù)更近一點,總體來講這個東西要越近越好。然后現(xiàn)在比較火的就是spark了,因為我們的量實際太大了,一天XXX億的請求,分到內(nèi)部的子系統(tǒng)里面去,又差一個數(shù)量級的產(chǎn)生。我們?yōu)榱吮O(jiān)控系統(tǒng)的穩(wěn)定性以及性能的達標,日志基本上要做準時的分析。但是完成的時侯是很難的,比如說要特殊監(jiān)控的地方,要不然這些東西都會導(dǎo)入到分布式的系統(tǒng)里面去,再做準時的分析?,F(xiàn)在七牛在云端基本上都存HTTP系統(tǒng)協(xié)議,七牛也好,包括其他友商,基本上沒有例外的。

      P2.png

      數(shù)據(jù)放到云端以后,就會帶來一個問題,你比如說拍了一個裸圖,800像素的就是兩、三兆的大小。相機可以表中圖、大圖、小圖,原始圖片放上去以后,基本上在國內(nèi)的3G情況下你沒法看。最后的需求還是說能不能把圖放得小一點,手機屏幕夠看就可以,剛剛好符合手機屏幕的一個尺寸。最后就是說你有這種需求,但是數(shù)據(jù)離你很遠,你又想看,免不了做一些數(shù)據(jù)的處理。我們通過HTTP的方式,給它發(fā)個指令,讓它處理完以后的結(jié)果,通過XX協(xié)議返回。

      計算總體來講,右邊的圖畫得比較草,就是三個框。計算機體系從20年前到現(xiàn)在都沒有實質(zhì)性的改變。從CPU到各種所有的加速卡,我要不想辦法,摩爾定律那樣頻率翻一番,快到一定的程度就沒有辦法了。后面就是說怎么少概念?很多人要去重復(fù)的,可能不同的緯度、時間訪問同一個處理過的數(shù)據(jù)。后來就上cache,從CPU1、2、3級的cache,然后到你現(xiàn)在Web服務(wù)做得比較多的,我先簡單的單機系統(tǒng),這樣的話我數(shù)據(jù)庫抗不住了,我就上radis之類的。對于云端在做這些事情的時候,框架搭得更大一點,各家有各家的做法。比如說有些東西從一些慢盤取完以后,所謂的分級存儲。我只是說數(shù)據(jù)訪問了一次,第一次可能在很慢的三個盤上面,有第一個人訪問以后,這個數(shù)據(jù)就激活了,然后就會轉(zhuǎn)移到SASP上面去。然后小文件都會控制在一百納秒的樣子,然后就可以從盤上讀出,剩下都是網(wǎng)絡(luò)。現(xiàn)在網(wǎng)絡(luò)很快的,每秒鐘處理包可以處理幾十萬、百萬,應(yīng)該是沒有問題的。包括數(shù)據(jù)存儲過程的開啟,這些東西主要都是為了加速用的,讓你的感覺更好一點,變得更快一點??赡苣銈兊膽?yīng)用里面也會用到,比如說我一臺機器的計算資源是有限的,我內(nèi)存可能是32G,服務(wù)端現(xiàn)在高一點,幾百是肯定的。當然現(xiàn)在移動端的手機都是flash的芯片,僅僅是讀取之類的還是很快的。但是一旦涉及到計算結(jié)果,放內(nèi)存還是好一點。

      現(xiàn)在來講這不是高大上的內(nèi)容,這都是一些比較現(xiàn)實的東西。實時性的一些處理,因為可能前兩天陌陌上市了,大家都知道陌陌的數(shù)據(jù)很多都在我們這里,他們?yōu)榱丝s減流量,就是說數(shù)據(jù)流。一張圖片可能要XXK,小的也是幾K的樣子。

      p3.png

      國內(nèi)帶寬很貴的,用戶在家里收了錢以后,運營商還要收錢的。你上陌陌,同時很多人聊天,你手機流量會耗得很快的。另外一端從運營商機房里頭,全國是數(shù)千個節(jié)點。他們會以峰值給你打個XX折,但是你峰值很不穩(wěn)定。這種情況第一就是說避免波動,第二就是說讓傳輸?shù)臄?shù)據(jù)變少。原始的圖片放上去,最后你要加速他的訪問。你刷個圖片,刷5秒鐘刷不出來,可能最初懷疑自己網(wǎng)絡(luò)慢,你換了個應(yīng)用刷一下,不管哪家應(yīng)用來說,刷圖片太久刷不出來,又證明網(wǎng)絡(luò)是好的,你開始罵這個應(yīng)用太差了。比如說移動網(wǎng)絡(luò)用3G,3秒、5秒你圖片能刷出來,因為國內(nèi)的網(wǎng)絡(luò)覆蓋不大一致,延遲、波動都是難以避免的。

      我覺得國內(nèi)的應(yīng)用比較容易做,因為大家容忍度比較高一點。因為上下班中間要排隊,吃飯要排隊,排多了可能都適應(yīng)了。但是實際上你實時性真的很好的時候,你覺得好爽好流暢。機器好壞明顯有區(qū)別的。實時性的響應(yīng),當前就是保證起來,就像那頭僵尸一樣,你每一個問題可能都是一大波僵尸,需要付出代價的。當前比如說像美拍的應(yīng)用,還有一些其他的游戲分享,就是游戲我在手機上錄完以后,后臺傳輸,過個10秒鐘你就可以分享了。分享完了,伙伴們就可以看你錄下來的很帥的記錄。這種實時性要求高,從后端數(shù)百公里,數(shù)千公里的機房,通過各種路由器,最終到你小區(qū)的局域網(wǎng),這條路是很長的,環(huán)境比較難控制。到真正的服務(wù)端,它必須數(shù)據(jù)要快,這就是雪上加霜。然后高吞吐,如果大家做服務(wù)端的話,你做APP有幾千、幾萬用戶的時候,可能和數(shù)據(jù)庫有需求的時候,或者說和圖片有需求的時候,你一秒鐘一臺服務(wù)器支個幾百個KPS了不起了。這種情況下,怎么保證性能的響應(yīng)依然是良好的?量大,本身就是說小圖片太碎了。單機的系統(tǒng)來講,早年用過windows的人可能比較明顯,現(xiàn)在很多都有固態(tài)盤要好很多。以前沒有固態(tài)盤的時候,不管你臺式機還是筆記本,里面的碎片多一點的時候,你搜索、查詢一個文件會越來越慢。這個東西的復(fù)雜度和量是直接關(guān)系的。我以前做相對底層的文件系統(tǒng),就是說你從陌陌結(jié)構(gòu),你的整個文件系統(tǒng)就像數(shù)據(jù)庫一樣。你的文件名、你的路徑,都是存放在某一塊區(qū)域,你的數(shù)據(jù)是被安排到另外一塊區(qū)域,找的時候就像一顆樹一樣,用樹來找的已經(jīng)比較快了。然后一層一層地找,你訪問一次以后,你下一次訪問就會變快。因為你的目錄樹都已經(jīng)開啟在里面了,這東西很重要。如果當前做服務(wù)端的話,用linux比較多,它的各種內(nèi)存的配比都是干什么呢?可能你90%的內(nèi)存都被page Cache耗掉了。其實不是系統(tǒng)可以,也不是磁盤可以,是他們的數(shù)據(jù)組織還可以。右邊針對這些上面的所有的需求來講,復(fù)雜度都很高,大家知道創(chuàng)意、技術(shù)團隊其實人員是有限的。數(shù)據(jù)量多了以后,你需要找一個專門靠譜的地方幫你打理。

      我們看下一頁,如果有這些需求,特別是說你需求不管多復(fù)雜,你量少的時候都不是問題,量一變大都是問題。在國內(nèi)做實時性的業(yè)務(wù),有一大堆的坑。

      p4.png

      我們服務(wù)端為了讓這些坑里面跳得快一點,你服務(wù)端基本上一定要快的。你最終數(shù)據(jù)出去的地方一定要快。那就是說基本上最好的CPU,都放過來做計算,能減少一毫秒就是一毫秒。因為不同的CPU的主屏,都會影響到處理這些事。高效果Cache,在你數(shù)據(jù)計算正常的情況下,把它塞到Cache里面去,下一次不用再算了。可能說大家從手機上訪問到的所有的,可能你永遠不是第一個刷到這些內(nèi)容的人,你基本上都會很快的。然后在原來的地方,你要有大容量的出口。如果你用過虛擬主機或者現(xiàn)在就買云主機的話,云主機就是VPS。都會有帶寬的一個限制,是共享的還是獨占的?獨占可能比你主機還要貴。用戶一旦多了以后,就會擁擠。你的APK一下就是幾十兆,你瞬間其他用戶就會有影響了。某服務(wù)商實際上都有限速,我盡可能把數(shù)據(jù)快地推到用戶手里,你不會做限制的。不管用哪家服務(wù),出口帶寬現(xiàn)在都是按10GB去算的。一根光纖10GB,扯上10根、8根的。這樣子保證出口一定是靠譜、穩(wěn)定的,然后延遲是4GB的。

      下面就是說只有一個點快是不行的,因為大中華的局域網(wǎng)非常復(fù)雜,電信連不通聯(lián)通的。北方聯(lián)通到南方聯(lián)通,每天每個時候還會堵一下。這些可能還不可控,最終只能說從更大層次的方案上面去規(guī)避。比方說北方的客戶用北方機房,南方的客戶用南方的機房。不是黑他們,確實很差,有些小運營商到你的節(jié)點路由都不通,這些需要專門的人干。像國內(nèi)的幾家CDN服務(wù)商,很多都是布點公司,在各個機房和運營商那邊都擺上他們的服務(wù)器,保證你的服務(wù)可連通性。他們的節(jié)點到你網(wǎng)站的快慢速度,到你當前用戶所在的位置,不管你用電信還是聯(lián)通的3G、4G,你第一跳跳到那個節(jié)點,直接決定了你這一把網(wǎng)絡(luò)的快慢。這些東西都比較重要,也有一些自建的節(jié)點,但是在管理上主要靠CBD保證這些事情。處理這一塊上面說靠自己來保證,或者說放云端,靠云端來保證。

      順便說一下我們現(xiàn)在純做數(shù)據(jù)處理的服務(wù)器,線上在跑的就有幾臺,有些客戶的量太大了。簡單、高效的方式就是擴容,都說互聯(lián)網(wǎng)公司都是不差錢嘛。剩下的就是說簡單講一下坑吧,就是說什么叫實時的處理呢?你在服務(wù)端秒以內(nèi)能處理完,這算實時的請求。如果你在服務(wù)端一秒鐘能處理完,我覺得這基本上不算實時了。如果有界面的一些應(yīng)用,沒有界面的還好,可能說是一些任務(wù)了。如果影響體驗的話,我覺得服務(wù)端處理絕對不應(yīng)該超過一秒,超過一秒絕對是故障了。不管用哪一家的語言,用數(shù)據(jù)處理也好,用什么服務(wù)也好,如果超過了一秒,用戶體驗受影響了,這基本上是必然的,因為路很長。如果數(shù)據(jù)都很小,然后你的數(shù)據(jù)本身的包括你可能有些實時的計算,比如說打個縮略圖,第一次訪問的時候,這種情況下你用實時的處理都是沒問題的。這樣的話同步,你就坐等結(jié)果回來,這樣的邏輯簡單很多,就是這樣等就行了,這是最簡單的。但是有些東西一旦是說你訪問過以后,這樣子你又掉到下面一個坑里面去了。主要是說CBD的緩存,經(jīng)常有更新的情況下,你對同一個文件更新,你發(fā)現(xiàn)更新完之后,你的用戶依然沒有刷出新的。你清完Cache,發(fā)現(xiàn)刷出來還是老的。這樣的話,CBD他的運營商的節(jié)點非常多,本身是互聯(lián)網(wǎng)數(shù)據(jù)通道了。這種情況下,可能一個小文件,要不就是你是他的客戶,去找他實時的刷新,但是它還是有故障。他放上去的Key是一樣的,我們默認第一天重復(fù),第二天重新拉一遍。搞了好幾天,看一下還是很早以前的。它確實是某CDN,因為某些原因沒有更新掉。你要做活動,你把主頁都換掉了,結(jié)果你刷了幾天還是原來的圖,這樣人家會很傷心的。比如說你更新你所有的展示資源,你就索性用不同的名字,這是最簡單的。因為CDN的緩存一般都是靠URL,以及有定制的話,就是URL的某一段來緩存的,來識別你的內(nèi)容是不是有變更?;蛘哂袥]有新內(nèi)容需要緩存。這種情況下,你干脆把它淘汰掉,換數(shù)據(jù)的時候順便換名字。名字你隨便起一個,因為圖片的URL用戶從來不會看。這種情況下,你對你的實時性,包括你的整個內(nèi)容的更新是放在自己手里的。用戶刷你的源站,你的用戶服務(wù)器變掉了以后,就不存在刷新的問題。這可能是我們所有的客戶,包括所有的合作伙伴平時遇到的小煩惱,通過人工流或者特殊的途徑,去把你網(wǎng)站上的垃圾清掉是可以的,只是過程比較久一點。主要就是說緩存這個坑,只要幫你加了速,你的應(yīng)用就在這個區(qū),可能有某CDN的服務(wù)器就在上海某個機房。一旦時間長了之后,就是說你更新的東西,他沒有更新,這樣也很坑。就是說也算是一種平衡吧。

      然后這個題目起得比較矬一點,沒有細想。比方說你拍完了一段手機的錄屏,比如說今天這個活動下來,我們視頻可能以后也會放在網(wǎng)站上分享。這種情況下,它消耗是比較高的,以至于你用最好的CPU,也不可能把它在一秒鐘內(nèi)處理完。這種情況下,就可能要引入一套異步的機制。當前為了兼容性也好,門檻也好,一些傳統(tǒng)的很老的一些協(xié)議,可能在互聯(lián)網(wǎng)時代都被拋棄了。很久以前家里面都有機頂盒之類的,就是說有線電視的,他們走的一些協(xié)議都是非常復(fù)雜的。

      p5.png

      包括數(shù)據(jù)流的協(xié)議,都是非常復(fù)雜?,F(xiàn)在手機打電話,這套通訊協(xié)議,學(xué)計算機的都知道是相對復(fù)雜的協(xié)議,這是保證可靠性的代價。電話費降不下來,運營商告訴你是因為什么什么,這是一方面。最后你可能異步化掉,你沒辦法做的,你發(fā)出請求,他告訴你收到請求了。最后結(jié)果要繼續(xù)查或者等通知,你去XX機關(guān),告訴你XX工作日以后來取。最近我們公司說去旅行,然后就有很多小伙伴連護照都沒有,因為剛畢業(yè),也沒有出去過。辦護照,你就提交材料,告訴你15工作日就15工作日。早一天過去查,他們說還沒有,看日期,明明還沒到你就來了。要么就是坐等,要么就是沒事去查一下。這樣會帶來應(yīng)用層面的一些復(fù)雜性。這種東西要提前預(yù)料好的,你為了自己的可控性以及體驗,就要這樣做。前天晚上我們有一家廈門的客戶,是哪家不能說,凌晨一點50分左右,我在公司處理其他公事,他們說他們的服務(wù)器掛了,從他們的老板打到他們的CTO沒有一個接通的。最終從角落里找到他們的銷售,那哥們的電話終于接通了。不管哪家云服務(wù),涉及到回調(diào)任務(wù)的,要仔細檢查每個流程是不是穩(wěn)定和可靠。因為對某些用戶來說,可能是丟數(shù)據(jù),這個問題比較嚴重。我們正常來講一次回調(diào)不成功,再重試,比如說一個小時回調(diào)不成功,就不再重試了。

      剩下的都不再細講了,反正就是注意回調(diào)里面的坑。這個是處理完以后,你要重新再拿,以備后期自己拿。把Cache另存一個文件,然后方便自己去處理。這邊還有一些所謂的多樣化的應(yīng)用,我們客戶接多了。有些不能算奇葩類的公司,比如說有些公司JPG的圖片壓縮過了500M??赡芤粡垐D片需要幾十G的內(nèi)存,可能它一個圖片要切成5百萬份之類的事情。但是有點夸張了,切成幾千份是有的。數(shù)據(jù)的多樣性和應(yīng)有性,每家云公司都會提供一套基礎(chǔ)的支持,讓大眾接近的應(yīng)用,但是有些很難接。

      這邊有一些云平臺作為一個框架,作為你有儲存接口、計算接口,我們希望真的是有用戶有自己的開發(fā)能力,有特殊的需求,可以定義自己的數(shù)據(jù)處理邏輯。

      p6.png

      但是用戶說去我們機房買一個處理器是可以的。但是結(jié)果你要運維、機器全部覆蓋,這個流程做起來很累。然后我們允許用戶把自定義程序打包完,放在這個框架里跑。流程一樣,接口一樣,只是說command換一換。用戶的應(yīng)用處理完以后,進入到指定的框架,讓用戶以插電的方式體驗自己的邏輯。

      東西還是這些東西,只是說希望大家如果有需求,可以用服務(wù)來實現(xiàn)的,就不要自己來搞,這個事太累了。我們累一次就可以了,包括其他的云公司一樣的。信息處理就是數(shù)據(jù)加計算,現(xiàn)在主要是消費型的數(shù)據(jù)比較多一點,互聯(lián)網(wǎng)客戶這邊。傳統(tǒng)客戶可能有歸檔類的,為了安全用來備份類的都有。但互聯(lián)網(wǎng)類的主要是用來消費的比較多,給客戶直接提供一些服務(wù)。這樣大家選儲存或者選服務(wù)商的時候要關(guān)注一些東西,為了后期的一些發(fā)展。比如說會不會因為接口太復(fù)雜,接進去就出不來了,還是基礎(chǔ)的服務(wù)不能滿足要求,或者說給你制定一個計算的能力。

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

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多