无码人妻精一区二区三区,eeuss影院www在线观看,无码精品久久久久久人妻中字,日韩av高清在线看片

推薦新聞
Serverless 最佳實(shí)踐:如何在兩周內(nèi)開發(fā)出用戶量過億的微信小程序?
發(fā)布者:深藍(lán)互聯(lián)
發(fā)布時(shí)間:2019-11-19
點(diǎn)擊:次

騰訊相冊(cè)微信小程序開發(fā)背景說明

2019 年 Q1,微信和 WeChat 的合并活躍用戶為 11.12 億,而小程序的活躍用戶從 17 年初發(fā)布后,在 18 年底增長到了 2.3 億。

小程序主要有以下幾個(gè)特點(diǎn):

  • 速度快。無需下載安裝,加載速度快于 app HTML5,隨時(shí)可用
  • 無適配。一次開發(fā),多端兼容,免除了對(duì)各種手機(jī)機(jī)型的適配
  • 可分享。支持圖文分享、支持分享給微信好友和群聊
  • 體驗(yàn)好??蛇_(dá)到近乎與原生 app 相同的操作體驗(yàn)和流暢度
  • 易獲取。支持掃碼、微信搜索、好友推薦等發(fā)起場(chǎng)景
  • 低門檻?;谖⑿诺纳鷳B(tài),已有公眾號(hào)的組織可快速注冊(cè)、生成小程序

微信小程序的這些特性,能夠與騰訊相冊(cè)這類社交性工具完美結(jié)合。

那么,這個(gè)小程序應(yīng)該怎樣設(shè)計(jì)?

作為一名產(chǎn)品經(jīng)理,我們想到了如下幾個(gè)需求:

  • 基本能力:圖片及視頻獲取、展示、管理、上傳、下載、圖片集
  • 社交屬性:點(diǎn)贊、評(píng)論
  • 傳播能力:分享
  • 用戶規(guī)模:千萬級(jí)
  • 上線時(shí)間:4 周。時(shí)間對(duì)于產(chǎn)品占領(lǐng)用戶的心來說十分重要,因此,我們決心 4 周上線。

需求明確之后,就是怎樣用高效、快速并省成本的方式實(shí)現(xiàn)騰訊相冊(cè)小程序。

騰訊相冊(cè)小程序基于 Serverless 落地實(shí)踐

一、傳統(tǒng)模式開發(fā)流程

產(chǎn)品的開發(fā)需求非常明確,簡單講就是「多快好省」。

承載千萬級(jí)用戶的小程序,對(duì)后臺(tái)架構(gòu)的性能和穩(wěn)定性要求非常高,如果有足夠的時(shí)間和資源,這些都不是問題。

但是想要在 4 周的時(shí)間內(nèi)完成開發(fā)并上線,壓力非常大。如果按照傳統(tǒng)的開發(fā)模式下,這樣一款小程序需要:

  1. 項(xiàng)目人員準(zhǔn)備:至少 1 個(gè)前端工程師,2 個(gè)后臺(tái),加 1 個(gè)測(cè)試和 2 個(gè)運(yùn)維。
  2. 人員 ready 后,開始著手環(huán)境搭建。需要運(yùn)維購買資源,如主機(jī)、數(shù)據(jù)庫、負(fù)載均衡等,并協(xié)助部署運(yùn)行環(huán)境、域名備案、搭建監(jiān)控告警系統(tǒng)等。
  3. 環(huán)境 ready 后,前端和后臺(tái)開始開發(fā),然后測(cè)試介入、運(yùn)維完成線上部署,最后申請(qǐng)發(fā)布。

即使整套流程都很順利,也需要至少 8 周的時(shí)間。如果人員不到位,需要的時(shí)間更久。

可以發(fā)現(xiàn),耗時(shí)主要是在環(huán)境搭建和開發(fā)流程當(dāng)中,而且人力耗費(fèi)也在這一塊。

在開發(fā)流程這塊,后端開發(fā)除了需要關(guān)注核心業(yè)務(wù)邏輯之外,還需要做框架選型,了解數(shù)據(jù)庫和文件存儲(chǔ)等。并且還需要耗費(fèi)精力對(duì)性能進(jìn)行優(yōu)化,比如高并發(fā)。那么必然也要去了解底層的運(yùn)行機(jī)制,比如容器服務(wù)。同時(shí)運(yùn)維也要花大量的時(shí)間來保障安全和容災(zāi)等能力。

因此,自上而下,對(duì)團(tuán)隊(duì)成員的專業(yè)技能要求越來越高。同時(shí),花費(fèi)的時(shí)間也越來越多。

環(huán)境和開發(fā)工作全部完成后,需要進(jìn)行架構(gòu)維護(hù),不僅需要維護(hù)業(yè)務(wù)集群,還需要關(guān)注各個(gè)組件的穩(wěn)定性。

測(cè)試方面,除了產(chǎn)品功能驗(yàn)證外,還需要壓測(cè)各個(gè)組件的性能。最后,還需要隨時(shí)保障整個(gè)系統(tǒng)的穩(wěn)定性和安全性。

二、基于 Serverless 模式的開發(fā)流程

如果將剛才提到的和核心業(yè)務(wù)邏輯不相關(guān)的事情都交給@微信 和 

騰訊云
,系統(tǒng)架構(gòu)將會(huì)大大簡化,而且能夠節(jié)省不少人力。

最終,需要關(guān)注的只剩下「小程序端+核心業(yè)務(wù)」,整個(gè)開發(fā)流程將會(huì)變得無比簡潔。

通過 Serverless,這種想法可以得以實(shí)現(xiàn)。Serverless 其實(shí)是一種架構(gòu)理念,他是把底層資源抽象成 API 的形式對(duì)用戶提供服務(wù)。

在去年年初,微信團(tuán)隊(duì)和騰訊云團(tuán)隊(duì)開始嘗試將 Serverless 和小程序開發(fā)結(jié)合起來并提供一套小程序 · 云開發(fā)解決方案,這還要?dú)w功于 Faas 在國內(nèi)的興起。有了 Faas 之后,用戶核心計(jì)算邏輯的承載平臺(tái)真正實(shí)現(xiàn)了 Serverless 化。

  • 首先云開發(fā)封裝了用戶需要用到的云函數(shù)、數(shù)據(jù)庫和文件存儲(chǔ)資源,開發(fā)不用再去關(guān)心環(huán)境問題;
  • 其次,從小程序端到云開發(fā)后臺(tái)的請(qǐng)求,走的是微信和騰訊云之間的專線,并且用的是私有協(xié)議,所以用戶也不用擔(dān)心安全問題;
  • 最后,云開發(fā)整個(gè)后臺(tái)提供了完善的監(jiān)控和日志系統(tǒng),也省去了運(yùn)維同學(xué)的部分工作。因此,新的方案不僅省去了很多運(yùn)維的工作,同時(shí)也有效加速了開發(fā)流程。

三、如何使用

新的架構(gòu)或者方案具體該怎么使用呢?

之前有提到,整個(gè)方案里最核心的是計(jì)算模塊。當(dāng)有用戶在小程序端發(fā)起后臺(tái)請(qǐng)求的時(shí)候,云函數(shù)平臺(tái)會(huì)根據(jù)用戶的請(qǐng)求量動(dòng)態(tài)地伸縮實(shí)例,以保證用戶的請(qǐng)求能夠被及時(shí)響應(yīng),同時(shí)用戶可以在云函數(shù)里發(fā)起數(shù)據(jù)庫以及文件存儲(chǔ)的讀寫操作。

下圖展示的完整架構(gòu)是 Serverless 的具體表現(xiàn)形式。用戶不再需要部署服務(wù)器,通過無服務(wù)器云函數(shù)即可實(shí)現(xiàn)核心業(yè)務(wù)邏輯。

這一套基于 Serverless 的架構(gòu)將會(huì)具備以下優(yōu)勢(shì):

  1. 無窮的彈性計(jì)算能力
  2. 讓用戶聚焦核心業(yè)務(wù)邏輯的編寫
  3. 根據(jù)請(qǐng)求自動(dòng)運(yùn)行
  4. 秒級(jí)上傳部署
  5. 幾乎不需要運(yùn)維

四、如何基于 Serverless 實(shí)現(xiàn)騰訊相冊(cè)小程序開發(fā)

以最核心的社交功能為例。按照傳統(tǒng)的開發(fā)模式,研發(fā)團(tuán)隊(duì)會(huì)面臨幾個(gè)挑戰(zhàn),運(yùn)維人力,開發(fā)復(fù)雜度,歷史包袱等。

借助云開發(fā)的能力,架構(gòu)設(shè)計(jì)將會(huì)變得非常簡單。

舉個(gè)例子,按照傳統(tǒng)的開發(fā)方式,需要花費(fèi)大量的時(shí)間在框架路由設(shè)計(jì)和安全設(shè)計(jì),以及后臺(tái)的性能優(yōu)化上面。而基于 Serverless 的方案,只需引用 SDK,就能直接 callfunction,運(yùn)行業(yè)務(wù)代碼。

再來看下性能方面,根據(jù)現(xiàn)網(wǎng)的運(yùn)行數(shù)據(jù),發(fā)現(xiàn)無論波峰還是波谷,后臺(tái)的響應(yīng)延遲都在 70ms 以下。

可以看到,對(duì)比傳統(tǒng)的開發(fā)模式,需要大約 1 人 10 周的人力完成開發(fā)、而借助 Serverless,只需要 1 人 3 周就能完成基礎(chǔ)開發(fā)和測(cè)試。

因?yàn)椋到y(tǒng)架構(gòu)變得非常簡單,并且和原有的空間后臺(tái)完美兼容,極大提升了開發(fā)效率。

總結(jié)

對(duì)于公司/個(gè)人來說,通過云的 Serverless 架構(gòu)開發(fā)微信小程序,有下面幾個(gè)非常顯著的優(yōu)勢(shì):

  1. 加快了產(chǎn)品的迭代效率
  2. 穩(wěn)定、高可用、彈性伸縮,完全不需要自己關(guān)心底層的運(yùn)維
  3. 降低了人力、財(cái)力等資源的投入

 

關(guān)注深藍(lán)互聯(lián)公眾號(hào)
Copyright ? 2013-2025 深藍(lán)互聯(lián) 版權(quán)所有
友情鏈接: