Sina App Engine(簡稱SAE)是新浪研發(fā)中心開發(fā)的國內(nèi)首個(gè)公有云計(jì)算平臺。SAE環(huán)境不同于普通環(huán)境,它是一個(gè)分布式服務(wù)器集群,能讓你的程序同時(shí)運(yùn)行在多臺服務(wù)器中,并提供了很多高效的分布式服務(wù)。本文以 SAE 環(huán)境為背景介紹微信公眾賬號的開發(fā)過程。 本書作者:鄒業(yè)盛 本書來源:https://www.zouyesheng.com/sae-wx.html
本書作者:鄒業(yè)盛 本書來源:https://www.zouyesheng.com/sae-wx.html
微信公眾賬號因?yàn)楦袷较鄬潭?,比做一個(gè) Web 類應(yīng)用簡單多了。
此文以 SAE 環(huán)境為背景介紹開發(fā)過程,從 0 開始,不依賴任何 Web 框架,以 wsgi 接口為基礎(chǔ)。如果你是想學(xué)習(xí),那么搞明白數(shù)據(jù)流和處理規(guī)則是唯一的重點(diǎn),至于 Web 框架就不是那么重要了。
在開發(fā)過程中,會涉及一些輔助工具的開發(fā),這些東西不涉及項(xiàng)目最終部署,但是卻為日常開發(fā)帶來方便。 因?yàn)檫@些東西可能會涉及其它方面的基礎(chǔ)知識,所以我不會詳細(xì)介紹實(shí)現(xiàn),有興趣者在理解原理之后可以自己實(shí)現(xiàn)適合自己的東西。
SAE從架構(gòu)上采用分層設(shè)計(jì),從上往下分別為反向代理層、路由邏輯層、Web計(jì)算服務(wù)池。而從Web計(jì)算服務(wù)層延伸出SAE附屬的分布式計(jì)算型服務(wù)和分布式存儲型服務(wù),具體又分成同步計(jì)算型服務(wù)、異步計(jì)算型服務(wù)、持久化存儲服務(wù)、非持久化存儲服務(wù)。
SAE的基本目標(biāo)用戶有兩種,一種是Web開發(fā)者,另一種是普通的互聯(lián)網(wǎng)使用者。
對于Web開發(fā)者,SAE帶來的好處有:
硬件成本更低,無需預(yù)先購買設(shè)備,承擔(dān)更大的投入風(fēng)險(xiǎn)。
開發(fā)成本更低,SAE提供許多服務(wù)供開發(fā)者使用,開發(fā)者無需重復(fù)開發(fā),包括隊(duì)列、數(shù)據(jù)庫、緩存、定時(shí)、驗(yàn)證碼、計(jì)數(shù)器,幾乎覆蓋了Web開發(fā)的所有領(lǐng)域。
運(yùn)維成本更低,在SAE上的應(yīng)用無需關(guān)心硬件維護(hù)、服務(wù)監(jiān)控、數(shù)據(jù)容災(zāi)等操作,它會通過其高可靠的架構(gòu)和方便的監(jiān)控頁面為用戶將運(yùn)維成本降到最低擴(kuò)展性更強(qiáng),在SAE上的服務(wù)無需關(guān)心服務(wù)壓力猛增時(shí)帶來的擴(kuò)容等操作,它會自動支持服務(wù)擴(kuò)展。
更加安全可靠,SAE自動提供SQL語句性能分析、前端防攻擊、代碼檢查等功能,在SAE上的所有應(yīng)用均為多機(jī)房容災(zāi)部署,比傳統(tǒng)的部署模式更加安全可靠,并且SAE提供服務(wù)的SLA來實(shí)現(xiàn)對用戶服務(wù)質(zhì)量的承諾。
對于普通上網(wǎng)人群,使用SAE可以:
使用推薦應(yīng)用一鍵安裝Web應(yīng)用,普通用戶無需會編碼,也可以在瞬間擁有自己的團(tuán)購、博客、微博、Wiki等