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