技術(shù)
導(dǎo)讀:11月23日,亞馬遜云科技攜手InfoQ、物聯(lián)傳媒共同打造的「這是我的架構(gòu)-直播周」系列節(jié)目第三季第三集精彩繼續(xù)!
11月23日,亞馬遜云科技攜手InfoQ、物聯(lián)傳媒共同打造的「這是我的架構(gòu)-直播周」系列節(jié)目第三季第三集精彩繼續(xù)!本集邀請(qǐng)到的是 Strikingly VP Engineering 龔凌暉 和亞馬遜云科技解決方案架構(gòu)師周愛(ài)琳,共同探討云計(jì)算如何助力千萬(wàn)級(jí)建站的高效架構(gòu)。一起回顧本期直播。
老用戶的新“點(diǎn)子”
Strikingly提供自助式建站服務(wù)平臺(tái),包括從網(wǎng)頁(yè)編輯器到網(wǎng)站托管的一站式解決方案,可以讓完全不懂技術(shù)的“小白”用戶可以在20分鐘內(nèi)上線一個(gè)網(wǎng)站,極致降低了搭建網(wǎng)站所需要的技術(shù)門(mén)檻。
Strikingly 早在2011年就開(kāi)始了與亞馬遜云科技的合作,龔凌暉本人也是亞馬遜云科技官方認(rèn)證的 Community Hero。為什么持續(xù)攜手亞馬遜云科技?龔凌暉總結(jié)了全球一站式建站的四大核心需求:可擴(kuò)展性、高可用性、全球穩(wěn)定性、安全性。而亞馬遜云科技的全球骨干網(wǎng)絡(luò)和廣泛而深入云服務(wù)能夠完美契合 Strikingly 的建站需求。
Strikingly 的架構(gòu)進(jìn)化史
最初 Strikingly 的架構(gòu)采用多租戶共享集群的方案以解決 SaaS 租戶代碼和數(shù)據(jù)的管理問(wèn)題,并基于 Amazon EC2 的自動(dòng)擴(kuò)縮容應(yīng)對(duì)流量變化,保持高可用性。這一方案在早期有利于快速迭代,并能夠有效控制 Strikingly和用戶的成本。
隨著用戶數(shù)量的增長(zhǎng),基于這個(gè)架構(gòu) Strikingly 很快就遇到了問(wèn)題,“我們可以在一定程度上預(yù)測(cè)用戶數(shù)量的增長(zhǎng)和用戶的行為,因?yàn)槲覀儠?huì)去有一些產(chǎn)品上面追蹤的數(shù)據(jù)可以幫助我們?nèi)ヮA(yù)測(cè),但是對(duì)于用戶網(wǎng)站的終端訪客的數(shù)量和行為,我們幾乎是沒(méi)有可能去預(yù)測(cè)的。”龔凌暉回憶道。面對(duì)網(wǎng)頁(yè)渲染無(wú)法預(yù)測(cè)的高頻操作請(qǐng)求,Strikingly 基于亞馬遜云科技的無(wú)服務(wù)器計(jì)算服務(wù) Lambda 搭建了網(wǎng)頁(yè)端的渲染服務(wù),能夠有效支持高達(dá)20倍的渲染請(qǐng)求。
實(shí)現(xiàn)網(wǎng)頁(yè)渲染服務(wù)后,Strikingly 發(fā)現(xiàn)一些熱門(mén)網(wǎng)站會(huì)被反復(fù)渲染,造成資源浪費(fèi)和響應(yīng)延遲。“我們的方案是在原本動(dòng)態(tài)渲染的應(yīng)用層前面加了一個(gè)靜態(tài)的緩存層,并將其保存在保存在 Amazon S3 上,收到網(wǎng)頁(yè)訪問(wèn)請(qǐng)求時(shí)我們就可以直接返回靜態(tài)頁(yè)面,而不需要回到應(yīng)用層。這樣就大大的減少了我們網(wǎng)頁(yè)請(qǐng)求、應(yīng)用層和渲染服務(wù)的壓力?!边@一架構(gòu)方案同時(shí)也保障了 Strikingly 的高可用性,即使應(yīng)用層宕機(jī),Amazon S3 依然可以返回靜態(tài)頁(yè)面,保障用戶網(wǎng)站正常訪問(wèn)。
在保障全球內(nèi)容分發(fā)網(wǎng)絡(luò)上,Strikingly 利用亞馬遜云科技的全球骨干網(wǎng)實(shí)現(xiàn)邊緣節(jié)點(diǎn)到中心節(jié)點(diǎn)的穩(wěn)定回源,“我們實(shí)際上是把剛剛說(shuō)的靜態(tài)層部署到不同的亞馬遜云科技區(qū)域去作為邊緣節(jié)點(diǎn),然后利用骨干網(wǎng)實(shí)現(xiàn)邊緣節(jié)點(diǎn)的靜態(tài)層到中心節(jié)點(diǎn)的動(dòng)態(tài)層的穩(wěn)定回源”。同時(shí)利用 Amazon EKS 服務(wù)實(shí)現(xiàn)邊緣節(jié)點(diǎn)和中心節(jié)點(diǎn)所有服務(wù)的管理和調(diào)度。
創(chuàng)新重構(gòu)瞬息萬(wàn)變
隨著時(shí)代和行業(yè)的變化,Strikingly 用戶的訴求也在不斷發(fā)生變化,龔凌暉以 Strikingly 創(chuàng)業(yè)初期為例,“用戶對(duì)于自己的網(wǎng)站是不是能夠在全球都能快速訪問(wèn)到是不關(guān)心的,只要可能本地的用戶能夠快速訪問(wèn)就ok了?!比欢S著全球化進(jìn)程不斷推進(jìn),用戶對(duì)全球網(wǎng)絡(luò)的需求也在逐年增長(zhǎng)。龔凌暉總結(jié)道,“用戶的訴求在不斷促使 Strikingly 迭代升級(jí),我們也相信與亞馬遜云科技未來(lái)的長(zhǎng)期合作,能夠幫助我們更好的實(shí)現(xiàn)這些訴求?!?/p>