平特心水报图
新網絡營銷基礎與實踐

你的位置:首頁 >網絡營銷 >百度云平臺

百度云平臺

BAE(Baidu App Engine)是百度推出的網絡應用開發平臺。基于BAE架構,您不需要維護任何服務器,只需要簡單的上傳應用程序,就可以為您的用戶提供服務。BAE有能力將原本單機的LAMP架構,變成分布式架構。您可以基于BAE平臺進行PHP、Java、Python應用的開發、編譯、發布、調試。同時BAE平臺也提供了大量的云服務給開發者,包括fetch URL、task queue、SQL、memcache,后續會提供更多服務。在性能方面,如果您希望增加服務能力,可以通過申請更多執行單元的方式進行靈活的調整。BAE服務可以讓您在開發網絡應用程序的過程中擺脫繁瑣的環境、服務問題,把精力專注于業務邏輯。

 應用

在BAE2.0中應用與BAE部署一一對應,不同部署之間若要共享數據或資源必須通過授權管理,復雜且不方便;在BAE3.0中,應用可包含多個BAE部署,同應用下的部署資源互通。

應用引擎(BAE)部署

在BAE3.0中,每一個BAE實例稱為一個“BAE部署”。BAE3.0新增了worker類型的部署。傳統的WEB類型,主要用來創建WEB應用,它的特點是通過HTTP請求來驅動應用邏輯;但有時候需要長期在后臺跑一些任務,例如爬蟲,不停的去爬取各種網絡資源,這種就需要woker類型的部署來實現了。

部署類型

或者叫做“Runtime類型”,每個BAE部署對應一種部署類型,目前包括node.js-web,php-web, php-worker, java-web, python-web, python-worker。后續會支持更多類型,給開發者更多的選擇。

執行單元

每個BAE部署由一個或多個“執行單元”組成。執行單元是一個抽象的概念,每個執行單元實際是由一組進程組成;例如一組lighttpd + php-fpm 進程組成了 php-web執行單元。對于一個WEB應用來說,隨著訪問量的上升,一個基礎執行單元很可能扛不住壓力。那么可以通過增加執行單元個數進行“水平擴展”,或者增大執行單元配置如內存進行“垂直擴展”,從而輕松應對壓力。運行環境和與編程語言無任何限制

比如在BAE2.0里面的限制,包括創建進程、創建線程、系統調用、執行C擴展模塊、文件系統訪問等等,在BAE3.0都不再進行限制每次WEB請求必須在30秒內完成

多種編程語言支持

除了PHP、Python、Java、Node.js以外,我們還會陸續增加對主流開發語言的支持。此外將來開發者還可以自定義運行環境。

編程框架的支持

由于編程語言層面沒有任何限制,那么各種編程框架的支持也就水到渠成了。不管你是主流的框架,還是小眾的框架,只要能在開發者本地的環境中運行起來,那么在云端也可以跑起來。

自動安裝依賴的模塊

對于python開發者來說,只要把依賴的模塊,例如django, flask等寫到 requirements.txt中,BAE會自動幫你把這些模塊部署到執行環境中。對于nodejs開發者,可以使用 package.json 達到同樣的效果。自由的網絡訪問

許多PaaS,對外的網絡訪問需要通過HTTP Proxy 或者是Socket Proxy 代理出去;而在BAE3.0里面,對外的網絡訪問不再需要經過代理層的轉發。

將在未來開放“端口服務”,允許開發者自定義對外提供服務的TCP/UDP端口,從而實現更復雜的業務邏輯。

新增worker類型

很多PaaS只能提供web類型應用的開發;而BAE3.0新增的worker類型應用,可以滿足開發者執行長期任務的需求。例如可以使用worker類型來實現一個自定義的網絡爬蟲運行環境

BAE3.0 是一種基于Linux Container的資源獨享型PaaS:

基本技術: Linux ContainerBAE3.0底層采用的是Linux Container這種輕量虛擬機技術,相對于傳統的kvm, xen 等虛擬機技術來說,它可以更好的適應云計算的需求。關于Container技術的詳細介紹,可以參考這里 http://linuxcontainers.org/

操作系統

Ubuntu 12.04 Server

輕量虛擬機內部,我們采用的是64位的 Ubuntu 12.04 Server。

資源配額

每個輕量虛擬機都具有一定的資源配額,應用如果使用了超過配額的資源,就可能出現不可預期的錯誤。例如瘋狂分配內存,大量占用磁盤空間等等。

內存: 默認 256M;可通過套餐來調整大小磁盤: 2GCPU: 與其它輕量虛擬機分享CPU網絡: 流入5Mbytes/秒;流出5Mbytes/秒

部署應用代碼

應用代碼部署在 /home/bae/app 目錄下,其權限為 bae 賬號所有

執行應用代碼

應用代碼以 bae 賬號來運行;因此應用代碼對于 /home/bae 目錄下具有任意的讀寫和訪問權限,同時對 /tmp 目錄也具有讀寫和訪問權限

臨時性文件系統

應用雖然可以在 /home/bae/ 等目錄下任意讀寫,但是輕量虛擬機里面是一個“臨時性文件系統”;也就是說,應用在這些目錄下動態創建的文件、目錄,是隨時可能消失的。這是因為當輕量虛擬機出現故障,或者輕量虛擬機所在物理機器出現故障的情況下,需要將這個輕量虛擬機動態的遷移到別的物理機器上,保證應用的“高可用性”。遷移后,原來輕量虛擬機里面的文件、目錄就都丟失了;這也是PaaS通用的處理邏輯。

對應用開發者來說,應該意識到PaaS的這種特性,并盡量將需要持久化的數據或者是需要被多個輕量虛擬機共享的數據放到mysql, redis, mongodb, bcs 等存儲服務器上。或者使用NFS服務,也可部分解決共享文件的需求。

網絡營銷詞典內容均由網友提供,僅供參考。

平特心水报图 幸运飞艇冠军大小单双技巧 大乐透走势图表带连线 新快三骰子算赌博吗 双色球预测号码最准确 时时彩开奖软件 pk10宝宝计划软件下载 双色球技巧方法大全 山东时时是什么意思是什么意思是什么 彩神软件上挣钱靠谱吗 幸运飞艇二期在线计划表