作者 | 阿裡巴巴雲原生
新年伊始,新興冠狀病毒肺炎席卷而來,社會各界同心協力,抗擊疫情。
你也許聽說了阿裡巴巴迅速設立 10 億元醫療物資供給專項基金,也聽說了馬雲公益基金捐贈 1 億元,支援加快新型冠狀病毒疫苗研發;菜鳥物流綠色通道,支援全球救援物資免費運輸。而阿裡雲作為數字經濟的基礎設施更是強力支撐着各行各業的客戶。
作為中國第一款支援雲端實時協作的企業辦公服務軟體,石墨文檔在疫情防控期間,借助阿裡雲函數計算極值彈性,不僅全面助力企業組織高效協同運轉,守護員工健康;更成為人們愛心傳遞的利器。
石墨文檔在疫情期間做了什麼?
1. 助力遠端、實時協同辦工
在疫情期間,石墨文檔向奮戰在疫情防控一線的政府部門、醫療組織、公益組織、社會團隊、個人志願者等免費提供進階版産品及服務。并在近日緊急釋出了「遠端辦公版」,為企業組織帶來了一系列遠端辦公模闆。可實作多人多地線上實時協同、遠端辦公模闆随時使用并有專屬線上客服即時溝通等服務。
2. 助力愛心傳遞
社會各界愛心人士紛紛用石墨文檔協作,共享武漢地區物資捐贈方式,高峰時刻實作了百人同時協作的場景。

杭州市釋出嚴管令之後,很多寵物貓主人無法返杭,愛貓人士及杭州動物保護協會也開始使用石墨文檔實時更新彙總杭州留守貓咪資訊 400 多條,讓同小區的“鏟屎官“幫忙救助,截止到目前已解決 300 多家貓咪的救助問題。
面臨挑戰
1. 多使用者實時協作
為了支援多使用者實時協作編寫,石墨文檔技術團隊在背後做了非常多的努力。其中之一就是對 Operational Transformation 算法進行非常深入的探索和修改,解決一段文字被多個用戶端同時修改所引起的沖突合并問題。
2. 巨大的伺服器壓力
多使用者的實時修改會對伺服器帶來巨大壓力。 使用者敲擊鍵盤輸入一個文字隻需要幾毫秒。而在石墨文檔上同時編寫文檔的使用者非常多,很容易出現在一個很小的時間段内資料分布不均的情況。
石墨文檔需要實作一套彈性高可用的服務來實時處理文檔編輯沖突,既要保證成本的可接受性,又要保證在負載突增時平滑處理峰值負載,保證毫秒級别的文檔同步響應。
應對挑戰
借助公有雲 Serverless 架構應對突發流量是個不錯的解決方案。函數計算是阿裡雲提供的 Serverless 計算平台,根據請求量動态配置設定執行環境,毫秒級排程計算資源,確定在負載高時保持穩定的延時,在負載低時有着較高的資源使用率,且隻會對代碼運作時使用的計算資源付費。
石墨文檔使用函數計算搭建文檔實時編輯服務,将文檔實時協作的邏輯實作為函數,由函數計算的智能排程系統自動配置設定執行環境處理多使用者同時編寫文檔帶來的峰值負載。函數計算的動态擴縮容能力保障應用的可靠運作。
獲得的效果
借助函數計算毫秒級别的資源伸縮能力,石墨文檔解決了早晚高峰負載突增的計算資源擴容問題,相比于自建機房維護伺服器,提高了資源使用率,減少了閑置資源的浪費,節省了 58% 的伺服器成本。
由于不用再考慮 CPU 密集型計算的負載均衡問題,項目的疊代與上線的步伐逐漸快了起來,工程師集中精力與産品團隊合作,不斷擴充業務價值。 計算的負載均衡問題,大大提高了開發效率和程序穩定性。
如果你對函數計算的能力還不是很了解,推薦閱讀
《函數計算入門與實踐》。
直播推薦
“ 阿裡巴巴雲原生 關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦雲原生流行技術趨勢、雲原生大規模的落地實踐,做最懂雲原生開發者的技術圈。”