GoogleAppEngine是什么?
這兩天仔細(xì)思考了一下,GAE到底是什么?
我做事情,喜歡探討一點(diǎn)背后的東東,抽象的東東,主要是因?yàn)檫@樣可以更深地幫助我理解這個(gè)系統(tǒng)。我的理解,一個(gè)系統(tǒng),只要對(duì)其有了一定了解,建立了世界觀,知道它能做什么,不能做什么,寫程序就會(huì)容易一點(diǎn),起碼大面上不會(huì)有什么錯(cuò)誤。
最開(kāi)始,我以為GAE是個(gè)虛擬主機(jī),提供CGI功能,可以定制一些比較強(qiáng)大的網(wǎng)站。不過(guò)后來(lái)從深層次理解,發(fā)現(xiàn)這個(gè)理解并不正確。因?yàn)槲野l(fā)現(xiàn),僅僅從虛擬主機(jī)的角度理解,可以說(shuō),GAE連1%的功能都沒(méi)有發(fā)揮出來(lái)。
我們來(lái)看一臺(tái)PC機(jī)有什么。有鍵盤鼠標(biāo),這是輸入設(shè)備,有顯示器,輸出設(shè)備,內(nèi)部有CPU,總線,內(nèi)存,硬盤,有的還有光驅(qū),然后有聲卡,顯卡,網(wǎng)卡,USB的其他設(shè)備連接手段。當(dāng)然,電源機(jī)箱就不說(shuō)了。
OK,我們來(lái)為這個(gè)PC機(jī)分分類,看我們大家花了幾千塊錢,到底買了什么東東:
1、輸入,輸出不說(shuō)了,這是人機(jī)交互的必要手段。USB連接槽大約也是為這個(gè)目的服務(wù)的,那么,我們可以抽象一下,一臺(tái)計(jì)算機(jī)需要人機(jī)交互能力。
2、網(wǎng)線,這個(gè)我的理解是“機(jī)機(jī)交互”能力,大家說(shuō)是不是,就是兩臺(tái)計(jì)算設(shè)備之間實(shí)現(xiàn)數(shù)據(jù)交互的手段。
3、CPU、總線,我的理解是計(jì)算資源,就是完成我們最核心的數(shù)據(jù)計(jì)算業(yè)務(wù)。這個(gè)不用多說(shuō),沒(méi)有就不叫計(jì)算機(jī)了。
4、硬盤,光盤,這個(gè)我的理解是永固性存儲(chǔ)手段,其實(shí)計(jì)算機(jī)最大的應(yīng)用,還是信息服務(wù),就是把信息存下來(lái),等需要用的時(shí)候,調(diào)出來(lái)使用。因此,永固存儲(chǔ)能力幾乎是每個(gè)完整的計(jì)算系統(tǒng)必須的。
5、內(nèi)存,這個(gè)最難以理解,肯定不是永固存儲(chǔ),但說(shuō)臨時(shí)存儲(chǔ)吧,它又是不可或缺的,一般不能用永固存儲(chǔ)替代,因?yàn)橛脖P什么的速度和內(nèi)存比,還是太慢。同時(shí),里面存儲(chǔ)的數(shù)據(jù)很雜,很難歸類,有操作系統(tǒng)的內(nèi)核代碼,有我們的程序,有程序的數(shù)據(jù)。不過(guò),我認(rèn)為,如果抽象到業(yè)務(wù)邏輯來(lái)說(shuō),內(nèi)存更像是本次運(yùn)行,本筆交易,以及某一個(gè)系統(tǒng)不同交易之間的一個(gè)臨時(shí)數(shù)據(jù)存儲(chǔ)區(qū)和共享變量交互區(qū)。
ok,當(dāng)我們把一臺(tái)PC機(jī)大卸八塊之后,我們來(lái)看一個(gè)能干活的計(jì)算機(jī)系統(tǒng)需要啥,我的理解包含:計(jì)算能力,永固存儲(chǔ)能力,計(jì)算中臨時(shí)變量存儲(chǔ)能力,多任務(wù)多用戶系統(tǒng)中,跨服務(wù),跨交易的數(shù)據(jù)交互能力,人機(jī)交互能力和機(jī)機(jī)交互能力。
那好,我們?cè)賮?lái)看看GAE
1、GAE提供程序開(kāi)發(fā)手段,每一次用戶訪問(wèn)能確保執(zhí)行相應(yīng)的程序模塊,這說(shuō)明什么?計(jì)算能力有了。
2、GAE提供最低500M永固存儲(chǔ),以數(shù)據(jù)庫(kù)方式開(kāi)發(fā)(不是關(guān)系型,是哈希型),需要的話,用戶還可以進(jìn)一步購(gòu)買,并以Google的商業(yè)信譽(yù)做數(shù)據(jù)安全擔(dān)保,這是永固存儲(chǔ)能力,并且,我發(fā)現(xiàn),這比我們PC機(jī)安全,因?yàn)橛脖P可能壞,光盤可能發(fā)霉,病毒可能重做系統(tǒng),而Google的商業(yè)化云計(jì)算運(yùn)行保證,能最大可能保護(hù)資料不會(huì)丟失。
3、雖然GAE提供的是腳本式執(zhí)行環(huán)境,看似每次用戶訪問(wèn)交易,彼此之間互相看不到,但GAE同時(shí)提供的數(shù)據(jù)庫(kù)訪問(wèn)和MemoryCache訪問(wèn)能力,其實(shí)已經(jīng)跨交易實(shí)現(xiàn)了共享變量,這很重要,因?yàn)椴煌?jì)算元之間的數(shù)據(jù)互動(dòng),是商業(yè)化大型系統(tǒng)的基本保證。一個(gè)沒(méi)有共享變量區(qū)的多任務(wù)多用戶系統(tǒng)毫無(wú)意義,充其量只能是n個(gè)小計(jì)算機(jī)的集合,不能起到1+1>2的作用。
4、機(jī)機(jī)交互不說(shuō)了吧,這是網(wǎng)絡(luò)服務(wù)器集群哦,天生的。另一方面,GAE從一開(kāi)始就沒(méi)有局限在Http服務(wù)器的范疇,它叫AppEngine,應(yīng)用服務(wù)引擎,這意味著,客戶端不管是人操作的瀏覽器,還是一個(gè)我們自己寫的Client,都無(wú)所謂,只要符合協(xié)議標(biāo)準(zhǔn),都可以請(qǐng)求服務(wù)。
5、人機(jī)交互,這個(gè)比較靈活,可能這也是GAE最不像計(jì)算機(jī)的地方。不過(guò),當(dāng)我們用瀏覽器打開(kāi)一個(gè)服務(wù),我們想想看,瀏覽器的窗口,是不是就是GAE的屏幕?我們的鍵盤和鼠標(biāo),這會(huì)是不是已經(jīng)可以通過(guò)瀏覽器和GAE交互?
6、比較重要的來(lái)了。所有開(kāi)發(fā)過(guò)多用戶應(yīng)用程序,尤其是網(wǎng)絡(luò)應(yīng)用程序的程序員,應(yīng)該都有體會(huì)。系統(tǒng)要提供個(gè)性化服務(wù),首先要能區(qū)別每個(gè)客戶,這需要一整套用戶管理系統(tǒng),大家可能都做過(guò)類似的練習(xí)。用戶管理系統(tǒng),做起來(lái)其實(shí)很簡(jiǎn)單,就是個(gè)簡(jiǎn)單的數(shù)據(jù)庫(kù)應(yīng)用,但實(shí)施起來(lái),最大的難度不在技術(shù)上,在商業(yè)信譽(yù)上,為什么呢,人家不信你,不愿意把隱私資料交給你,很多網(wǎng)絡(luò),拼命地用垃圾郵件,拉大家入伙,其實(shí)就是想解決這“最后一下回車”的問(wèn)題。但使用GAE開(kāi)發(fā)部署應(yīng)用,GAE提供google自己的用戶數(shù)據(jù)庫(kù)驗(yàn)證訪問(wèn),一個(gè)客戶,只要注冊(cè)過(guò)google的郵箱,天生就可以成為我們的客戶,并且,這個(gè)有g(shù)oogle的商業(yè)信譽(yù)擔(dān)保,用戶比較放心,這其實(shí)已經(jīng)幫助大家解決了一個(gè)很大的運(yùn)營(yíng)商的難題:用戶不肯入網(wǎng)。
7、最重要的來(lái)了,GAE提供GData服務(wù),可以無(wú)縫整合Google提供的網(wǎng)頁(yè)Office,企業(yè)辦公平臺(tái)的功能,這意味著什么,GAE開(kāi)發(fā)的應(yīng)用,一開(kāi)始就可以提供Office辦公能力。大家想想,目前哪個(gè)公司提供的ERP、EIP平臺(tái),能內(nèi)置一套Office?說(shuō)不要自己造輪子,呵呵,這么大的輪子,我也愿意用啊。
綜上所述,我們來(lái)理解一下,GAE到底是什么?
1、GAE是一臺(tái)計(jì)算機(jī),一臺(tái)完整的計(jì)算設(shè)備,其提供的永固存儲(chǔ)能力,安全性還強(qiáng)于目前的PC個(gè)人計(jì)算設(shè)備。
2、GAE提供多任務(wù)多用戶訪問(wèn)能力,應(yīng)用開(kāi)發(fā)者無(wú)需關(guān)心用戶管理和個(gè)性化服務(wù)的困難,并且無(wú)需關(guān)心服務(wù)能力的擴(kuò)容,一切都是無(wú)縫可獲得的,并且,價(jià)格不貴。
3、GAE是一臺(tái)按需定制的計(jì)算機(jī),我們服務(wù)的客戶群小,就免費(fèi),客戶多了,就收費(fèi),并且可以無(wú)級(jí)增加,一點(diǎn)點(diǎn)增加,既滿足我們當(dāng)前的應(yīng)用需求,又不會(huì)浪費(fèi)錢。
4、GAE這臺(tái)計(jì)算機(jī)不會(huì)貶值。Google建設(shè)了一個(gè)計(jì)算云,我們的GAE應(yīng)用是運(yùn)行在云上,我們不用擔(dān)心PC升級(jí)換代導(dǎo)致的淘汰成本。
5、針對(duì)目前計(jì)算機(jī)的兩大應(yīng)用領(lǐng)域,辦公和娛樂(lè),GAE主要針對(duì)辦公應(yīng)用提出完整解決方案。
這就是目前我想到的幾點(diǎn)GAE的看法,當(dāng)然,可能還很不完整,這里我拋磚引玉啊,希望大家多多補(bǔ)充。
本文轉(zhuǎn)自?tonyxiaohome?51CTO博客,原文鏈接:http://blog.51cto.com/tonyxiaohome/198761?,如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者
總結(jié)
以上是生活随笔為你收集整理的GoogleAppEngine是什么?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: oracle存储过程的简单学习2
- 下一篇: FortiAnalyzer-VM 安装使