以下為演講實錄:
 
       大家好,我是七牛的首席架構師李道兵,今天在這里我想給大家談一談七牛發(fā)布的解決方案,在說解決方案之前想跟大家先分享一下這本書,這本書發(fā)表已經21年了,在本書差不多是兩個時代的一個分界線,在這本書發(fā)布之前,我們看到的軟件世界是灰暗的。ABN(音)的工程師由于壓力過大,在辦公室吃打印紙。
 
       我們可以看到,在這之后,我們可以享受到很多龐大的軟件,比如視窗。這個與設計思潮帶來的改進是非常相關的。接下來,二十多年前我們大部分的需求是來自客戶端軟件的復雜性,現(xiàn)在我們面臨的需求跟之前不一樣了,我們先回到這個主題,之就是七牛的解決方案這個主題。
 
       解決方案不是新的名詞,畢竟如果你做一個商業(yè)公司,比如電商,你需要一套物流體系,一套供貨體系,一套支付體系。這一些東西沒法用一個簡單的軟件搭起來,一個好的辦法是什么呢?就是我們找一個更優(yōu)經驗的傳統(tǒng)的IT顧問公司,幫你做解決方案,做設施,甚至幫你做運維。但是20年前我們可以這樣玩,現(xiàn)在這樣玩是不是合適呢?現(xiàn)在是一個互聯(lián)網時代,互聯(lián)網時代創(chuàng)業(yè)公司很多,各種的創(chuàng)業(yè)的新的增長點也很多。但是這一些,在每一個增長點來講的話,都有很多很多的創(chuàng)業(yè)公司在這上面工作,那么這個競爭也比以前激烈很多。以前的方案施工周期很長,六個月九個月甚至一年以上都是常事。第二個是不靈活,畢竟要跟第三方溝通。然后成本也不低,高額的傭金,可能你拿到的風投拿到的A輪都不夠給這些公司付傭金的。另外你付了錢就能得到一個好的產品嗎?未必。比如蘇寧易購打造的平臺,上線沒幾天就宕了??赡芩麄儾贿m應互聯(lián)網時代,對于爆增的訪問量的預估不足造成的。
 
       而我們換一個角度,來看我們現(xiàn)在互聯(lián)網時代的一個,我們究竟需要一個什么樣結構的軟件,什么樣結構的產品,底層的設施,我們簡單的,人可以把我們的產品分為客戶端產品端兩部分,現(xiàn)在大部分的客戶端都屬于兩個類型,一個標準的網頁瀏覽器,第二個來講是移動設備。而服務端來講的話,就是說,由于現(xiàn)在我們大量的一些基礎服務,比如說存儲、全面搜索,還有一些消息堆點之類的,我們又可以繼續(xù)把服務端分成兩個部分,第一部分是客戶的私有的服務,第二個部分,它對應的云服務,整個構成了我們簡簡單單的BMCS的結構。這個結構我們換一個尺度來看一下的話,特別是服務端,我們又可以分為兩個部分,第一個部分是你最基礎的組件的部分,包括數(shù)據(jù)庫、存儲、消息系統(tǒng),你的全文檢索系統(tǒng),郵件發(fā)送系統(tǒng)等等這些組建。
 
       第二部分,你自己的私有化,通過一些場景化的模式,如何把你的組建聯(lián)合,或者是整合成一個服務。在組建這個方面,我們看到大的方面,各個組建云化,云端化的越來越多,你常用的都可以找到云化的。場景化是大部分人很頭疼的問題。大家想一想,如果你找到一個別人已經做過的。把你的idea變成產品過程,會不會順利很多呢?這個就是我們這一次想做的事情。我們想把場景化的模式,變成一份你可以看得見摸得著的東西,讓可以模仿、學習,并且融合在你的工作當中的一些東西。OK,具體這方面來講的話,七牛又是怎么去推進,怎么做這個事情的呢?首先來講的話,我們有大量的客戶,我們跟這些客戶,通過跟他們一起討論,來確定他們的這種行業(yè),有哪一些業(yè)務場景,一個業(yè)務場景來講的話,它其中會有哪一些痛點,我們根據(jù)它的痛點,設計出來的七牛特色的一個架構,這個架構來講的話,基于我們的云服務,采用這個架構,架構能很好的解決這些痛點。然后在跟很多客戶來交流來講的話,我們在很多架構里面發(fā)現(xiàn)共同點。比如,特別是移動端的客戶都有需求。就是有很多照片也好,文件也好,都要跟客戶端同步。這些同步來講,我們獨立出來一個新的產品。這個產品反過來影響了我們的架構。

       就是我們以后設計新的架構的話,這些新的,比如同步服務,其他的服務,可以作為一個新的組建,直接應用在這個架構里面。那么來講的話,我們現(xiàn)在這一些七牛的組建和服務來講,可以有哪一些呢?比如比較基礎的來講,包括對象存儲,包括富媒體計算平臺,網絡加速平臺,計算平臺。同時在這些基礎平臺之上,我們挖掘了我們的一些上層組建,比如直播服務,云盤同步服務,還有我們的一個大數(shù)據(jù)分析類服務。還有我們的七牛的合作伙伴推出的個性化推送,比如推出的一些APM服務。這些服務來講構成了骨架的作用。我們把剩下來的變成一個整體,變成一個整體的服務。
 
       之前我們介紹過設計模式,設計模式來講,它分為三個大類,推出了23個具體的場景的設計方法。我們仿效一下先賢,七牛在這一波里面進行七個行業(yè)分類,在這七個行業(yè)里面找出了31個場景。比如O2O這個行業(yè)來講,我們分為五個具體的場景,包括垂直社區(qū),達人視頻,每頁的導購,還有售后追蹤服務,上門服務等這些購物場景。接下來我想稍微具體一點跟大家講一講,拿其中一個場景跟大家講一講我們到底做了一些什么東西。
 
       第一個我想給大家講的是七牛的安防視頻的解決方案。安防現(xiàn)在進入了千家萬戶,每個家有一個攝象頭來為你家做保護。安防是相對來講比較簡單的領域,它最重要的是兩個部分,第一個數(shù)據(jù)流怎么上來,第二個數(shù)據(jù)流怎么分發(fā)出去這兩個問題。而針對這兩個問題的話,我們都有對于它們具體的提出了一些解決方案。這一副圖是整個上去的流程,上去的流程,我們是從客戶端,這個客戶端包括攝象頭、手機終端這類的客戶端,這類的客戶端通過ITMP推流就可以直接推送到云平臺,但是在推流之前有一步少不了的就是建全操作。拿健全權限之后可以把流推送到直播服務。我們直播服務會把其中一部分,存儲它的數(shù)據(jù)到我們的存儲云,同時開始以直播流的方式往外推送。
 
       第二個部分就是直播加速部分,我們客戶端是多種多樣的,每一種客戶端接收的模式接收的碼率都不一樣。在接收的過程當中,根據(jù)你所需要的碼率,在服務端進行一些實時轉碼的工作,整個流程就完美的走通了。我們看到在這個過程當中,真正需要客戶開發(fā)的只有一小點就是健全服務。剩下的可以用現(xiàn)成的云服務,特別是七牛的云服務來提供支持。包括我們的霹靂云直播服務。包括多碼服務。這一塊很多公司已經開始,用這種架構搭建他們的安防的監(jiān)控平臺,希望你們有類似的場景需求,希望這個東西對于你們有所啟發(fā),能夠幫助你們,快速的把你們的平臺搭出來。
 
       第二個,我們想講的比較熱門的領域,就是七牛的短視頻社交這個領域。其實短視頻社交這個領域,照例來講也是一個大的架構。比如現(xiàn)在比較熱門的視頻,小咖秀,它視頻來源一般是來自于手機,手機錄制完了之后,十秒二十秒的一個小視頻,這個視頻推送到服務器之后,它有兩個需求,第一個需求是分享與分發(fā)的需求。第二個需求就是所謂的審查、轉碼需求,這類的需求,分別怎么解決掉具體的問題的呢?OK,客戶端上傳這邊,我們遇到的最大的問題是上傳成功率的問題。上傳成功率主要是手機的網絡不穩(wěn)定,包括網絡不太好,這種情況下,如果你直接把一個完整的視頻上傳會出現(xiàn)問題。這邊我們提供的解決方案,就是分片上傳,把一個大的數(shù)據(jù)流分到小的數(shù)據(jù)流,可以提高上傳成功率。第二個是提供就近加速的節(jié)點,通過這兩種方式,讓他上傳的成功率可以達到一個很滿意的數(shù)字。第二個部分是轉碼,上傳之后為什么轉碼呢?上傳的格式希望統(tǒng)一成一個格式,第二個,播放的時候不同的客戶端播放的的模式不一樣。第二個有打碼的需求。這個就需要一個平臺來做這個事情。我這邊相當于你自己都不用做。通過我們kodo等系統(tǒng),可以完成視頻的轉碼、存儲的工作。這個直接在我們服務端就做好了。
 
       第三個部分是分發(fā)在這個領域里面分發(fā)遇到的最大的問題,是覆蓋率希望問題,畢竟你不希望你的客戶來抱怨,第二個來講的話,仍然跟之前的問題比較類似,大家希望以不同的碼率拿到不同的碼流。第一個部分,我們提供一個CPN融合的工作。整個中國甚至整個世界的覆蓋率都可以達到非常漂亮的水平。包括解決掉,你的用戶看不到的問題。第二個來講的話,也是用了我們剛才視頻的多種模式轉碼的方式,這種轉碼,讓你的客戶端,比如可以看MP4流,或者可以看到更低碼流,更高碼流。我們可以看到,這個解決方案里面,我們客戶要做的事情也是很少,更多的是授權的工作。通過客戶端的控制,你想看什么流,服務端就給什么流。極大的減少了客戶的轉化工作。這里的客戶就比較多了,美拍、豆拍等,用這樣的方式保證了客戶的快速的增長。
 
       前面我們提到了七個行業(yè)解決方案,為什么我們到今天才推出這個呢?因為我們現(xiàn)在,在這七個行業(yè)有足夠的客戶,能夠提煉出這些行業(yè)里面的共性了,在這兒我們先暫停一二十秒,看這里面有沒有一些你自己喜歡的應用,或者是說你們公司的應用。
 
       最后回到七牛的,你說七牛的口號也好,或者是遠大的理想也好,讓天下沒有難寫的代碼,讓程序員活得更有尊嚴一點,讓七牛幫到各位程序員也好,各位創(chuàng)業(yè)者也好,讓你們的產品更加快速更加穩(wěn)定,謝謝大家。

分享到

zhoub

相關推薦