您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關(guān)統(tǒng)一的分布式數(shù)據(jù)庫和文件系統(tǒng)mongodb及其用于解決aliyun上做站的存儲成本方案是怎樣的,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
在大型本地程序的客戶端發(fā)布中脫離不了文件系統(tǒng)/打包技術(shù), — 這在游戲技術(shù)中很常見(看看大型3D網(wǎng)游DATA中的那些動則幾G的資料片/資產(chǎn)庫文件就知道了)。比如,zip包也是一種簡單的文件系統(tǒng)。不過更復(fù)雜一些的場景,比如發(fā)布大量小文件還需要維護更新和版本化的時候,往往用打包+hash+加密技術(shù)(一個索引一個存儲庫),像warcraft系列的mpq啊這些都是例子,就不細說了。
事情到了WEB和做站,同樣地,WEB的靜態(tài)資源往往有時變得很巨大,有圖片這種小文件也有大文件存儲這些需求,我們來細細分析 — 在其底下首先是分布式存儲和其各種方案,從服務(wù)器上的raw filesystem,分布式文件系統(tǒng)。到簡單的ftp,webdav(支持統(tǒng)一客戶端同步etc..如owncloud和davros),到網(wǎng)盤的切片文件系統(tǒng)(支持秒傳,如dropbox),到對象存儲技術(shù)(es2,aws,aliyun oss),到傳統(tǒng)數(shù)據(jù)庫和它們的結(jié)合體如mysql+fuse文件(aw3fs,okasoft),甚至像基于云計算渲染的游戲中免發(fā)布客戶端資源做成stream,都可用于操作和存儲網(wǎng)站文件。我們現(xiàn)在的web棧也往往都是一個httpd的page ui srv + 一個數(shù)據(jù)庫srv + 具體WEB程序維護的程序數(shù)據(jù)庫條目索引本地文件或分布式中的文件,可見,對存儲的處理是通用web棧中一個基礎(chǔ)環(huán)節(jié)。
然而,現(xiàn)在的以上這些,都涉及到不同的技術(shù)顯得太碎片了,同是存儲卻用了不一樣的多種不同質(zhì)的技術(shù),而且都不能使web做到像本地一樣存儲維護網(wǎng)站系統(tǒng)(除了OSS可以掛載到本地盤稍微有點接近這個之外)。這使得維護網(wǎng)站靜態(tài)資源過程往往變得很痛苦,那么有沒有一種像打包文件的本地方式一樣維護/備份網(wǎng)站系統(tǒng)。統(tǒng)一備份網(wǎng)站數(shù)據(jù)/媒體,且避免像wordpress這種緊綁定媒體和數(shù)據(jù)庫不好備份的缺點。更進一點,可以做到像dokuwiki那樣免數(shù)據(jù)庫一樣,發(fā)貼即存儲,打包復(fù)制帶走即整個網(wǎng)站維護。
ps:整合的東西往往有一個干凈,簡單的門面??梢愿脑斐筛鲗娱_發(fā)者適用的版本,穩(wěn)藏代碼后面的復(fù)雜。這其實是現(xiàn)代開發(fā),在源碼處理(語法上)和發(fā)布上(組件技術(shù)上)的通用技術(shù)了。軟件抽象和設(shè)計模式中的門面,都是這樣的例子。整合的東西還可以提高應(yīng)用的簡便性。 而我們的工作,就是使web stacks中的存儲自成一體,使之變得更整合更易維護。本站以前的發(fā)布/演示中,ocwp,cmserpone都是在一定程序上使媒體維護變得免維護化這樣的例子,owcp用網(wǎng)盤作媒體后端,備份即同步網(wǎng)盤,cmserpone是導(dǎo)出一個公司的db。而接下來介紹的mongodb更像是一種突破?!C 與oss不屬數(shù)據(jù)庫技術(shù)不同(它是干凈的分布式存儲),它是一種稱為文檔數(shù)據(jù)庫,此文檔二字即為網(wǎng)站資源,它具有g(shù)ridfs本身就是一個文件系統(tǒng),整合了mysql和fs。同時可用作mysql存儲程序數(shù)據(jù),你可以將它視為mysql+oss,或native storage backend for web apps(that shipped with webstack as ehanced lamp),是web棧中一個很合理的整合存在。
阿里云是這樣設(shè)計ECS的,在其產(chǎn)品計劃中它把ECS作為計算產(chǎn)品出售,并不是一個帶存儲/計算的全能iaas產(chǎn)品(如果你要這樣做,技術(shù)上是可以的,但是成本很高,ecs在安全/負載/流量方面沒有優(yōu)勢不利直接建站,而其存儲類產(chǎn)品有這方面的設(shè)施和價格優(yōu)惠),因此云存儲中,有oss,ecs文件系統(tǒng),塊這樣各層的東西,包括rds,mongodo這樣的存儲產(chǎn)品。比如,在iaas層,阿里云希望用戶搭配使用ecs+rds。
甚至有負載ecs,更甚至,根據(jù)這些,阿里向用戶提出游戲解決方案電商解決方案,搭配使用的方案。
but,這太亂了。而且其存儲成本組成,不但包括存儲本身還包括存儲中的媒體產(chǎn)生的流量。
我希望有一種方案。像ECS一樣全包但是不要涉及太多產(chǎn)品和計費方案。只涉及到最多二產(chǎn)品,且避免ecs的以上做站的短處,再來搭配ecs。aliyun Apsara for mongodb+ecs就是這樣一種,內(nèi)網(wǎng)中的這二個產(chǎn)品流量是免費的,mongodb中的出流量是免費的,ecs按量收費僅放web程序應(yīng)該不會產(chǎn)生太多流量,這樣流量帶寬方面綜合起來比較劃算。ecs+rds for mysql+oss也可以,但是這處方案至少涉及到三個產(chǎn)品。
在mongodb這種方案中,你僅需要租用mongodo即可,外帶一個支持程序的空間(比如阿里云的免費PHP空間),在程序支持方面,如果你是個人博客,可以選用比如mongopress,或成熟的nodejs+mongodb的mean stack系列下的app(不過這樣你至少需要一個ecs,因為aliyun ews中的js下架了)。
安裝方法:下載mongopress 0.2.3放到apps/wamdata/source下,默認(rèn)密碼admin/admin安裝,然后在安裝成功的后臺點導(dǎo)入數(shù)據(jù),下載plupload 1.5.1,解壓2個文件plupload.js,plupload-html5.js覆蓋mp-admin/js/plupload/中的2文件即可。
下面是我在msyscuione+ocwp使用的wam/wnm架構(gòu)中測試的結(jié)果:
——————–
當(dāng)然它aliyun Apsara for mongodb也不是不貴,合租mongodb才劃算,,體外話:對于降低個人網(wǎng)站最低成本和同類產(chǎn)品的自然整合考慮,我最初的想法是mailbox當(dāng)網(wǎng)站空間的附件呢并把它發(fā)展為像owncloud這樣的東西,不過還是偏向到web這塊來了,那個想法有點瘋狂有點像web1.0時代的google openwave設(shè)想。
以上就是統(tǒng)一的分布式數(shù)據(jù)庫和文件系統(tǒng)mongodb及其用于解決aliyun上做站的存儲成本方案是怎樣的,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。