自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

騰訊文檔業(yè)務(wù)上云,Serverless 架構(gòu)應(yīng)用優(yōu)秀實踐

云計算
騰訊文檔整個技術(shù)體系內(nèi)集成了許多微服務(wù)為騰訊文檔提供業(yè)務(wù)支持,比如 圖像識別、SSR、截圖、文檔預(yù)覽 等,這些微服務(wù)需要從效率和成本需求出發(fā)考慮解決方案,以實現(xiàn)可擴展、易維護、降低開發(fā)成本的目標(biāo)。

近兩年,國內(nèi)文檔類 SaaS 產(chǎn)品層出不窮,協(xié)作云文檔作為云時代辦公的一種工具和方式。與傳統(tǒng)的離線辦公軟件不同,協(xié)作云文檔更加注重協(xié)作的溝通和效率,同時作為工具類產(chǎn)品也同樣關(guān)注性能和體驗。就在不久以前,《一個救命文檔的 24 小時》刷屏朋友圈,在河南暴雨災(zāi)情中,騰訊文檔快速響應(yīng)災(zāi)區(qū)需要,提升穩(wěn)定性,確保產(chǎn)品體驗。

騰訊文檔脫胎于 QQ 家族旗下一款團隊協(xié)作 IM 軟件 TIM 的在線文檔模塊,最初基于開源軟件搭建的技術(shù)架構(gòu),隨著業(yè)務(wù)的高速發(fā)展,已無法完全滿足業(yè)務(wù)的需求,且積累下了比較沉重的技術(shù)債務(wù)。團隊經(jīng)過慎重的討論,決定從底層開始,分模塊,逐步重構(gòu)整個技術(shù)體系。在技術(shù)迭代的過程中,團隊也在不斷探索和嘗試業(yè)內(nèi)一些先進成熟的技術(shù)解決方案。

騰訊文檔整個技術(shù)體系內(nèi)集成了許多微服務(wù)為騰訊文檔提供業(yè)務(wù)支持,比如 圖像識別、SSR、截圖、文檔預(yù)覽 等,這些微服務(wù)需要從效率和成本需求出發(fā)考慮解決方案,以實現(xiàn)可擴展、易維護、降低開發(fā)成本的目標(biāo)。伴隨著公司自研上云的浪潮,在近來的開發(fā)中,團隊在多個微服務(wù)項目中深入使用 騰訊云 Serverless 架構(gòu),滿足了業(yè)務(wù)的需求,取得了不錯的效果。

01.騰訊文檔 x Serverless 云函數(shù) 多場景應(yīng)用

1. 應(yīng)對流量高峰低谷

辦公類產(chǎn)品是有明顯的流量潮汐的,比如上午 8 點到 12 點,下午 2 點到 6 點這幾個時段是流量比較大的時候,其他時間段尤其是凌晨沒什么流量。隨著用戶量快速增加,這種潮汐規(guī)律尤為明顯,高峰時期海量用戶的實時修改對服務(wù)器造成巨大的壓力。

傳統(tǒng)架構(gòu)下可以通過增加虛擬機,實現(xiàn)應(yīng)用的可擴展。但由于預(yù)估容量不足,導(dǎo)致業(yè)務(wù)流量高峰期時,大量用戶出現(xiàn)請求超時的情況,這意味著品牌聲譽受損、用戶流失。雖然可以通過創(chuàng)建虛擬機實例的方式進行擴容,但是仍然要做很多額外的配置。應(yīng)用底層有很多依賴的框架或語言運行時需要安裝,安裝完成之后還需要配置和部署應(yīng)用,這個周期至少需要 1-2 個小時,這種情況下傳統(tǒng)的部署架構(gòu)無法做到資源與流量的匹配。

Serverless 解決方案騰訊文檔借助 Serverless 云函數(shù)搭建文檔頁面直出服務(wù),將文檔的內(nèi)容渲染能力實現(xiàn)為函數(shù),部署在云函數(shù)環(huán)境上,當(dāng)文檔業(yè)務(wù)流量激增,由云函數(shù)的負載均衡系統(tǒng)自動分配執(zhí)行環(huán)境,處理海量用戶觸發(fā)的內(nèi)容更新請求負載,動態(tài)擴縮容能力為微服務(wù)提供最合理的資源分配。同時通過設(shè)置云函數(shù)預(yù)置并發(fā),可預(yù)先啟動多個函數(shù)實例,保持云函數(shù)的活性,消除冷啟動,降低在運行環(huán)境初始化和業(yè)務(wù)代碼初始化產(chǎn)生的耗時。

 

 

 

2. SSR 前端渲染

騰訊文檔自推出以來,已達千萬月活,為了支持用戶打開頁面時能快速看到頁面內(nèi)容,瀏覽器直接解析 HTML 直出的字符串模版顯示頁面,流量激增導(dǎo)致集群負載、前端渲染壓力增加,首屏加載時間慢等問題。SSR 團隊需要實現(xiàn)一套彈性高可用性的直出解析服務(wù)來處理文檔和表格的頁面內(nèi)容,滿足可擴展、易維護、降低開發(fā)成本 的目標(biāo)。文檔的渲染能力幾乎都是前端同學(xué)在負責(zé),而前端同學(xué)大多服務(wù)端知識積累比較淺,對于服務(wù)的開發(fā)運維經(jīng)驗比較少,長期的運維成本是新的架構(gòu)設(shè)計重要的評估維度,從而讓前端團隊可以更加聚焦于業(yè)務(wù)邏輯本身。

Serverless 解決方案SSR(Server-Side Rendering)需要依賴 Node.js 服務(wù)渲染頁面,顯然會比僅僅提供靜態(tài)文件的 CSR(Client-Side Rendering)應(yīng)用需要占用更多服務(wù)器 CPU 資源,借助 Serverless 方案,前端同學(xué)無需關(guān)注 SSR 服務(wù)器的部署、運維和擴容,通過云函數(shù)對底層服務(wù)進行封裝,極大地減少部署運維成本,更加聚焦業(yè)務(wù)開發(fā),提高開發(fā)效率。

 

 

 

 

全新 Serverless Web Funciton 服務(wù)開發(fā)模式,只需簡單修改監(jiān)聽端口,即可將目前流行的 Node.js 框架直接部署上云,享受 Serverless 技術(shù)帶來的免運維、低成本、按需擴縮容的眾多優(yōu)勢,歡迎體驗。

3. 外部服務(wù)調(diào)用 - OCR 圖像識別

騰訊文檔幻燈片支持編輯公式的能力,OCR 圖像識別是騰訊文檔幻燈片結(jié)合外部的 OCR 服務(wù)能力來完成文檔內(nèi)的公式圖片轉(zhuǎn)換為公式,進而方便用戶進行公示編輯。問題點在于:外部提供的 OCR 服務(wù)做了限制,不支持前端請求,僅支持服務(wù)端請求。傳統(tǒng)的解決方案需要后臺同學(xué)接入,進而增加了人員排期、對接等項目管理的復(fù)雜度。

Serverless 解決方案騰訊文檔將外部提供的 OCR 用云函數(shù) SCF 做一層轉(zhuǎn)發(fā),騰訊文檔再對接聯(lián)調(diào)云函數(shù)的接口。解決了外部服務(wù)的限制,同時節(jié)省了后臺開發(fā)資源,前端業(yè)務(wù)開發(fā)同學(xué)可以自己快速對接上外部服務(wù),大大提升了開發(fā)效率。

 

 

 

 

4. 插件中心 - 第三方服務(wù)接入

騰訊文檔插件 1.0 的方案是基于對文檔前端封裝到前端插件 SDK 的方案,在內(nèi)部插件業(yè)務(wù)嚴(yán)重耦合文檔實現(xiàn)的前提下,無法將文檔能力以安全、成體系的方式對外提供,持續(xù)去開放前端文檔的編輯的能力,會使前端 SDK 和文檔側(cè)的實現(xiàn)逐步變得臃腫,最后有可能會在變成巨石應(yīng)用上長期存在的技術(shù)債務(wù)。

Serverless 解決方案插件 2.0 方案的核心是基于后臺內(nèi)容編輯的能力開放,利用文檔的數(shù)據(jù)響應(yīng)式的更新機制,云函數(shù)便成為 前端 - 云函數(shù) - 后臺內(nèi)容編輯 中關(guān)鍵環(huán)節(jié),將開放的實現(xiàn)從前端剝離,通過云函數(shù)承載進行開放。同時,不同服務(wù)的調(diào)用量級不同,云函數(shù)帶有天然的服務(wù)隔離和動態(tài)修復(fù)能力,可針對不同服務(wù)相互隔離,分別進行升級拓展,避免服務(wù)間的影響。

 

 

 

5. 灰度發(fā)布 & 環(huán)境隔離

在進行應(yīng)用版本更新及切換時,為了保證線上整體系統(tǒng)業(yè)務(wù)穩(wěn)定,及時發(fā)現(xiàn)業(yè)務(wù)代碼的問題,研發(fā)團隊會采取灰度發(fā)布的方式測試迭代。通過云函數(shù)針對特定的版本進行逐步的流量切換,可以實現(xiàn)某個版本的平滑灰度,保證新上線的版本能夠 在可控的范圍能進行發(fā)布迭代。

通過云函數(shù)版本隔離測試環(huán)境和生產(chǎn)環(huán)境,線上通過對 $LASTEST 進行版本的固化,可以把測試環(huán)境的 API 網(wǎng)關(guān)對接到 TEST 版本,將生產(chǎn)環(huán)境對接都固化的版本上,保證生產(chǎn)環(huán)境的代碼質(zhì)量安全。

 

 

 

02.Serverless 架構(gòu)方案優(yōu)勢 研發(fā)效率提升

本地開發(fā)測試后,觸發(fā) CI/CD 流程,就可以完成部署流程。同時,云函數(shù)提供了日志監(jiān)控、灰度、發(fā)布回滾等能力,可以通過接口或者插件實現(xiàn)完全自動化的流程。云函數(shù)基于騰訊云專業(yè)的保障集群,自帶負載均衡和彈性伸縮,開發(fā)同學(xué)基本不需要再關(guān)心運維等問題,可以有更多的時間聚焦業(yè)務(wù)的優(yōu)化。服務(wù)端經(jīng)驗較少的前端開發(fā)工程師也可以較為輕易的開發(fā)維護服務(wù)。

成本節(jié)約

云函數(shù)實現(xiàn) 1ms 計費粒度,按實際用量計費,幫忙用戶獲得顯著的成本優(yōu)勢,在沒有訪問量時實現(xiàn)自動縮容,節(jié)約部署成本。

靈活度高

憑借騰訊云函數(shù)的多版本能力,可以靈活部署多個在線版本,通過和網(wǎng)關(guān)的配合的,輕松做到多版本共存,提供定制化的處理能力。

加速業(yè)務(wù)迭代

使用 Serverless 方案之后,極大減少了運維和監(jiān)控的負擔(dān),開發(fā)同學(xué)可以把更多的精力放在方案的優(yōu)化和技術(shù)迭代中,快速驗證產(chǎn)品特性,推動團隊技術(shù)業(yè)務(wù)的發(fā)展。

03.騰訊文檔 x Serverless 架構(gòu) 更多場景探索

當(dāng)下瀏覽器環(huán)境是有性能瓶頸的,對于較為復(fù)雜的異步邏輯可以考慮使用云函數(shù)將邏輯服務(wù)化,接下來,騰訊文檔計劃對前端瀏覽器邏輯 Fass 化,可以從前端分離到服務(wù)端,進而降低瀏覽器性能壓力。

在協(xié)作辦公的賽道上,團隊業(yè)務(wù)還在快速的成長,面對快速變化的技術(shù)迭代,低成本、快速開發(fā)、快速部署、快速上線的 Serverless 解決方案成為了團隊在微服務(wù)技術(shù)選型中優(yōu)先考慮的架構(gòu)。借助云函數(shù) SCF 的能力,團隊不用再擔(dān)心后臺計算資源的問題,可以更加有信心應(yīng)對更多突如其來的事件。未來,隨著騰訊文檔開放平臺的建設(shè),會有更多的使用云函數(shù) SCF 的微服務(wù)跑在騰訊文檔的業(yè)務(wù)中,為廣大用戶提供更好的服務(wù)。 

 

責(zé)任編輯:龐桂玉 來源: 騰訊云
相關(guān)推薦

2017-05-29 08:18:11

Serverless架構(gòu)軟件系統(tǒng)

2021-09-06 16:55:56

騰訊云Serverless零售

2022-03-01 18:27:18

云原生日志監(jiān)控

2021-09-18 10:23:43

Serverless

2021-10-13 09:45:54

Serverless 應(yīng)用調(diào)試

2023-02-07 15:33:16

云遷移數(shù)據(jù)中心云計算

2019-09-03 10:24:54

2021-02-25 09:00:00

架構(gòu)開發(fā)運維

2024-09-12 13:13:58

2019-11-27 10:55:36

云遷移云計算云平臺

2022-08-04 10:12:49

桌面技術(shù)

2022-04-22 08:10:45

云上數(shù)據(jù)安全

2023-07-03 12:09:38

云日志云服務(wù)

2021-11-10 13:38:05

云計算云計算環(huán)境云應(yīng)用

2021-07-02 10:59:39

云計算云計算環(huán)境云應(yīng)用

2024-01-15 08:00:00

開發(fā)API文檔集成

2019-11-19 19:41:10

華為云

2020-04-08 17:54:41

騰訊云Serverless數(shù)據(jù)庫

2021-09-06 17:04:29

騰訊云Serverless云原生
點贊
收藏

51CTO技術(shù)棧公眾號