使用在Marathon UI顯示的信息,我可以訪問(wèn)URL為http://coreos1.ad.forest:31000的Web應(yīng)用程序。
當(dāng)應(yīng)用程序運(yùn)行時(shí)頁(yè)面左上角會(huì)顯示容器名稱(chēng),用于上載和下載的圖片的Amazon S3終端(endpoint)會(huì)顯示在左下角,并表明ViPR用于存儲(chǔ)數(shù)據(jù)。
我們現(xiàn)在可以上傳圖片了。
下面是由Web應(yīng)用程序發(fā)送到瀏覽器的代碼,以讓瀏覽器直接上傳圖片到對(duì)象存儲(chǔ)平臺(tái)。
var files = $("#file")[0].files;var reader = new FileReader();reader.onload = function(event){var content = event.target.result;try {$.ajax({ url: 'http://bucket1.denisnamespace.ns.viprds.ad.forest:80/pictures/B6C3OuVCIAEfwjm.jpg', data: content, cache: false, processData: false, type: 'PUT', beforeSend: function (request) { request.setRequestHeader('Content-Length','35964'); request.setRequestHeader('Content-Type','binary/octet-stream'); request.setRequestHeader('x-amz-date','Sun, 11 Jan 2015 12:53:12 UTC'); request.setRequestHeader('host','bucket1.denisnamespace.ns.viprds.ad.forest'); request.setRequestHeader('Authorization','AWS denis@ad.forest:iCnahEUOy8/lanI96tQYA3WKQVE='); }, success: function(data, textStatus, request){ $('#alert-success').html("Picture uploaded").show().delay(5000).fadeOut(); }, error: function(data, textStatus, request){ $('#alert-danger').html("Upload failed").show().delay(5000).fadeOut(); }});}catch (e) {alert(e);}}reader.readAsArrayBuffer(files[0]);
圖片直接上傳到對(duì)象存儲(chǔ)平臺(tái)的事實(shí)意味著該Web應(yīng)用程序中并沒(méi)有數(shù)據(jù)路徑。也就是說(shuō)無(wú)需部署數(shù)百個(gè)實(shí)例應(yīng)用程序就可以擴(kuò)展。
這個(gè)Web應(yīng)用程序,也可用于顯示所有存儲(chǔ)在相應(yīng)的Amazon S3的圖片。
圖片下方顯示的URL表明圖片可以直接從對(duì)象存儲(chǔ)平臺(tái)下載,而這又意味著Web應(yīng)用程序不是從數(shù)據(jù)路徑直接下載。
對(duì)象存儲(chǔ)是事實(shí)上的標(biāo)準(zhǔn)網(wǎng)絡(luò)規(guī)模應(yīng)用。
原文:http://www.recorditblog.com/post/how-to-create-a-web-scale-infrastructure-based-on-docker-coreos-vulcand-and-mesos-and-why-object-storage-becomes-the-de-facto-data-repository/
譯文: http://dockerone.com/article/162譯者: 張逸仙
本文為轉(zhuǎn)載,如需再次轉(zhuǎn)載,請(qǐng)查看 “dockerone.com” 要求。
聯(lián)系客服