精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

AWS MEAN堆棧+JavaScript=快速搭建應(yīng)用

責(zé)任編輯:editor006

作者:Mike Pfeiffer

2016-12-26 14:04:54

摘自:TechTarget中國

MongoDB、Express、AngularJS和Node js組合成一個全棧JavaScript應(yīng)用。MEAN堆棧由MongoDB、Express、AngularJS和Node js組成,是AWS上最常用的Web開發(fā)框架之一。

MongoDB、Express、AngularJS和Node.js組合成一個全棧JavaScript應(yīng)用。AWS提供了各種服務(wù)來支持這些MEAN堆棧。

開發(fā)人員在構(gòu)建Web應(yīng)用時有許多選擇。市面上有無數(shù)的框架和語言可選,而像AWS這樣的云平臺可以方便地部署和擴展應(yīng)用程序。

MEAN堆棧由MongoDB、Express、AngularJS和Node.js組成,是AWS上最常用的Web開發(fā)框架之一。MEAN框架由構(gòu)建全棧JavaScript Web應(yīng)用程序所需的所有組件組成。

MongoDB作為NoSQL數(shù)據(jù)庫的后端,可以存儲應(yīng)用程序的數(shù)據(jù)。Express是最小的Node.js框架,可以輕松使用Javascript構(gòu)建服務(wù)器端Web應(yīng)用程序。AngularJS是一個用于構(gòu)建動態(tài)Web前端的客戶端Javascript框架。Node.js是一個基于Google Chrome的JavaScript引擎的服務(wù)器平臺,用于構(gòu)建網(wǎng)絡(luò)應(yīng)用。開發(fā)人員可以使用這些組件在AWS上部署一個MEAN堆棧。

EC2上安裝MEAN堆棧

要在單個彈性計算云(EC2)實例上安裝MEAN堆棧,請下載Node.js和MongoDB。開發(fā)人員需要安裝一些其他依賴項用于構(gòu)建和管理前端軟件包,包括Gulp和Bower。安裝完所有這些先決條件后,從NPM下載mean-cli軟件包。這給與開發(fā)人員對MEAN命令行接口的訪問,提供安裝,管理和更新應(yīng)用程序的功能。

MEAN堆棧適合在單個的AWS EC2實例上運行,但對生產(chǎn)應(yīng)用來說應(yīng)防止單點故障。

通常我們會看到應(yīng)用的數(shù)據(jù)庫層是在自己的EC2實例集上運行。在這種模型下,IT團(tuán)隊可以在多個EC2實例上托管一個MongoDB的副本集,即一個主實例和一個或多個分布在多個可用區(qū)中的輔助實例。如果主實例發(fā)生故障,則其中一個輔助實例將接管成為新的主實例,從而提供自動故障轉(zhuǎn)移的功能。這種架構(gòu)消除了應(yīng)用程序的數(shù)據(jù)庫層單點故障;它還提供地理冗余,因為AWS的可用區(qū)域是在物理上不同的數(shù)據(jù)中心。

當(dāng)構(gòu)建在MongoDB副本集上時,最少有兩個EC2實例可以托管剩余的組件。使用AngularJS構(gòu)建的應(yīng)用程序前端和用Express和Node.js編寫的JavaScript后端都可以在每個服務(wù)器上運行。開發(fā)人員還可以使用Auto Scaling組,該組可以啟動相同配置的其他實例,動態(tài)支持最終用戶請求的突增。在這兩種情況下,開發(fā)人員都可以使用Elastic Load Balancing來保持服務(wù)器的健康運行。

Docker容器中的MEAN堆棧

除了AWS的EC2實例上運行MEAN堆棧之外,容器也是開發(fā)人員使用的一種常見的選擇。這對于已經(jīng)為其他應(yīng)用使用容器技術(shù)的IT團(tuán)隊來說尤其如此。使用Docker容器在AWS上運行MEAN堆棧可以讓開發(fā)人員快速入手。

開發(fā)人員可以簡單地從Docker Hub中提取MEAN鏡像,而不是在EC2實例上自己安裝所有先決條件。當(dāng)在容器中運行鏡像時,IT團(tuán)隊就擁有了MEAN部署所需的一切。

對于生產(chǎn)環(huán)境,開發(fā)人員可以使用多個容器來實現(xiàn)高可用性和可擴展性。 數(shù)據(jù)庫層可以在自己的容器內(nèi)或跨多個容器運行;開發(fā)人員可以使用Docker Hun上的MEAN鏡像來快速構(gòu)建數(shù)據(jù)庫層。

對于需要多個容器的大型應(yīng)用,亞馬遜EC2容器服務(wù)(ECS)可以幫助在多個EC2實例之間進(jìn)行容器的管理和擴展。

Elastic Beanstalk上部署MEAN

構(gòu)建一個可擴展的高可用性的應(yīng)用對于開發(fā)人員來說不是一件容易的事。如果他們不想陷入支持AWS Auto Scaling和高可用性所需的所有基礎(chǔ)架構(gòu)工作,AWS Elastic Beanstalk是一個更輕松的選擇。

開發(fā)人員可以使用圖形和命令行工具來監(jiān)控和管理應(yīng)用,并且能夠?qū)W⒂趹?yīng)用的開發(fā),而讓Elastic Beanstalk來處理其他的任何事情。 該服務(wù)可以構(gòu)建由EC2實例或Docker容器組成的環(huán)境。

MEAN堆棧加無服務(wù)器組件

一種新興的開發(fā)模式是從架構(gòu)中剔除服務(wù)器,轉(zhuǎn)而使用托管服務(wù)。最終帶來可擴展和彈性的應(yīng)用架構(gòu),最大限度地減少開發(fā)人員必須管理的服務(wù)器基礎(chǔ)架構(gòu)的數(shù)量。

例如,使用AngularJS構(gòu)建的MEAN堆棧應(yīng)用的前端是由HTML和JavaScript文件組成。這些靜態(tài)資源可以存儲在亞馬遜簡單存儲服務(wù)中,由Amazon CloudFront內(nèi)容交付網(wǎng)絡(luò)服務(wù)來奉上。

Express可以在AWS Lambda中運行,運行Node.js的運行時環(huán)境。AWS Lambda允許開發(fā)人員無需配置或管理服務(wù)器就可以運行代碼。開發(fā)人員創(chuàng)建Lambda函數(shù),在AWS平臺上以服務(wù)的方式運行,他們可以通過亞馬遜API網(wǎng)關(guān)來創(chuàng)建一個托管API,通過HTTP提供對AWS Lambda的訪問。參照這種模型,IT團(tuán)隊使用AWS Lambda和亞馬遜API網(wǎng)關(guān)構(gòu)建后端API,前端應(yīng)用代碼通過HTTP調(diào)用該API。

最后一部分是數(shù)據(jù)庫層。EC2實例或Docker容器可以運行一個或多個MongoDB服務(wù)器。但是,如果總體目標(biāo)是要消除開發(fā)人員必須管理的服務(wù)器,DynamoDB(AWS云托管的NoSQL數(shù)據(jù)庫服務(wù))可以替換MongoDB層。

構(gòu)建一個無服務(wù)器模型絕對是超前沿的,但對于想要減少需要配置和管理的服務(wù)器基礎(chǔ)架構(gòu)數(shù)量的開發(fā)者來說,這是一個頗具吸引力的方法。最近發(fā)布的一個參考架構(gòu)包括了有關(guān)如何在AWS上搭建MEAN堆棧的代碼示例和指南,可以幫助企業(yè)IT開始動手執(zhí)行此項任務(wù)。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 新巴尔虎左旗| 威信县| 宣化县| 中卫市| 新河县| 贵阳市| 富民县| 深圳市| 金华市| 台北县| 五指山市| 林州市| 翁源县| 夏邑县| 屏东县| 濮阳市| 辽阳县| 浦县| 阳城县| 濮阳县| 江华| 昌平区| 双峰县| 忻州市| 门头沟区| 卢龙县| 唐海县| 志丹县| 遂溪县| 德安县| 卓资县| 白沙| 迁安市| 南岸区| 松阳县| 普宁市| 宝鸡市| 巴塘县| 秦皇岛市| 梨树县| 廊坊市|