当前位置: 首页 > 后端技术 > Node.js

腾讯文档业务上云,Serverless架构应用最佳实践

时间:2023-04-03 13:06:59 Node.js

杩戜袱骞村浗鍐呮枃妗aaS浜у搧灞傚嚭涓嶇┓锛屽崗鍚屼簯鏂囨。鏄簯鏃朵唬鍔炲叕鐨勫伐鍏峰拰鏂瑰紡.涓庝紶缁熺殑绂荤嚎鍔炲叕杞欢涓嶅悓锛屽崗鍚屼簯鏂囨。鏇存敞閲嶅崗浣滅殑娌熼€氬拰鏁堢巼锛屽悓鏃朵綔涓哄伐鍏风被浜у搧锛屼篃娉ㄩ噸鎬ц兘鍜屼綋楠屻€傚墠涓嶄箙锛屻€婁竴涓晳鍛芥枃妗g殑 24 灏忔椂銆嬪埛灞忎簡鏈嬪弸鍦堛€傛渤鍗楃壒澶ф毚闆ㄧ伨瀹虫湡闂达紝鑵捐鏂囨。蹇€熷搷搴旂伨鍖洪渶姹傦紝鎻愬崌绋冲畾鎬э紝淇濋殰浜у搧浣撻獙銆傝吘璁枃妗h劚鑳庝簬QQ瀹舵棌鏃椾笅鍥㈤槦鍗忎綔IM杞欢TIM鐨勫湪绾挎枃妗fā鍧椼€傚畠鏈€鍒濇槸鍩轰簬寮€婧愯蒋浠剁殑鎶€鏈灦鏋勩€傛妧鏈€恒€傜粡杩囪鐪熻璁猴紝鍥㈤槦鍐冲畾浠庡簳灞傘€佸瓙妯″潡鍏ユ墜锛岄€愭閲嶆瀯鏁翠釜鎶€鏈綋绯汇€傚湪鎶€鈥嬧€嬫湳杩唬鐨勮繃绋嬩腑锛屽洟闃熶篃鍦ㄤ笉鏂帰绱㈠拰灏濊瘯涓€浜涜涓氬唴鍏堣繘鎴愮啛鐨勬妧鏈柟妗堛€傝吘璁枃妗f暣涓妧鏈綋绯婚泦鎴愪簡寰堝寰湇鍔′负鑵捐鏂囨。鎻愪緵涓氬姟鏀寔锛屾瘮濡傚浘鐗囪瘑鍒€丼SR銆佹埅鍥俱€佹枃妗i瑙堢瓑锛岃繖浜涘井鏈嶅姟闇€瑕佹牴鎹晥鐜囧拰鎴愭湰闇€姹傝€冭檻瑙e喅鏂规锛屽疄鐜板彲鎵╁睍鎬с€佹槗鐢ㄦ€с€傜淮鎸佸拰闄嶄綆寮€鍙戞垚鏈殑鐩爣銆傞殢鐫€鍏徃鑷爺浜戠殑娴疆锛屽湪杩戞湡鐨勫紑鍙戜腑锛屽洟闃熷湪澶氫釜寰湇鍔¢」鐩腑娣卞害浣跨敤浜嗚吘璁簯Serverless鏋舵瀯锛屾弧瓒充簡涓氬姟鐨勯渶姹傦紝鍙栧緱浜嗕笉閿欑殑鏁堟灉銆?1.鑵捐鏂囨。xServerless浜戝嚱鏁板鍦烘櫙搴旂敤1.涓轰簡搴斿娴侀噺楂樺嘲鍜屼綆璋凤紝鍔炲叕浜у搧鏈夋槑鏄剧殑娴侀噺娼睈锛屾瘮濡傛棭涓?:00-12:00鍜屼笅鍗?:00-6:00.杞︽祦閲忔瘮杈冨ぇ锛屽叾浠栨椂闂存锛屽挨鍏舵槸娓呮櫒锛屽熀鏈病浠€涔堟祦閲忋€傞殢鐫€鐢ㄦ埛鏁伴噺鐨勫揩閫熷鍔狅紝杩欑娼睈鐜拌薄灏や负鏄庢樉锛岄珮宄版湡澶ч噺鐢ㄦ埛鐨勫疄鏃朵慨鏀圭粰鏈嶅姟鍣ㄥ甫鏉ヤ簡宸ㄥぇ鐨勫帇鍔涖€傚湪浼犵粺鏋舵瀯涓紝搴旂敤鐨勫彲鎵╁睍鎬у彲浠ラ€氳繃澧炲姞铏氭嫙鏈烘潵瀹炵幇銆備絾鐢变簬棰勪及瀹归噺涓嶈冻锛屽湪涓氬姟娴侀噺楂樺嘲鏈燂紝澶ч噺鐢ㄦ埛鍑虹幇璇锋眰瓒呮椂锛屾剰鍛崇潃鍝佺墝澹拌獕鍙楁崯鍜岀敤鎴锋祦澶便€傝櫧鐒跺彲浠ラ€氳繃鍒涘缓铏氭嫙鏈哄疄渚嬫潵鎵╁睍瀹归噺锛屼絾鏄粛鐒堕渶瑕佽繘琛屽緢澶氶澶栫殑閰嶇疆銆傚湪搴旂敤绋嬪簭鐨勫簳閮紝闇€瑕佸畨瑁呰澶氫緷璧栫殑妗嗘灦鎴栬瑷€杩愯鏃躲€傚畨瑁呭畬鎴愬悗锛岄渶瑕侀厤缃拰閮ㄧ讲搴旂敤绋嬪簭銆傝繖涓惊鐜嚦灏戦渶瑕?-2灏忔椂銆傚湪杩欑鎯呭喌涓嬶紝浼犵粺鐨勯儴缃叉灦鏋勬棤娉曞尮閰嶈祫婧愬拰娴侀噺銆?Serverless瑙e喅鏂规鑵捐鏂囨。浣跨敤Serverless浜戝嚱鏁版瀯寤烘枃妗i〉闈㈢洿杈撳嚭鏈嶅姟锛屽皢鏂囨。鐨勫唴瀹规覆鏌撹兘鍔涘疄鐜颁负鍑芥暟锛屽苟閮ㄧ讲鍦ㄤ簯鍑芥暟鐜涓€傚綋鏂囨。涓氬姟娴侀噺婵€澧炴椂锛屼簯鍑芥暟鐨勮礋杞藉潎琛$郴缁熻嚜鍔ㄥ垎閰嶆墽琛岀幆澧冿紝澶勭悊澶ч噺鐢ㄦ埛瑙﹀彂鐨勫唴瀹规洿鏂拌姹傝礋杞斤紝鍔ㄦ€佹墿缂╁锛屼负寰湇鍔℃彁渚涙渶鍚堢悊鐨勮祫婧愬垎閰嶃€傚悓鏃讹紝閫氳繃璁剧疆浜戝嚱鏁扮殑棰勮骞跺彂鏁帮紝鍙互鎻愬墠鍚姩澶氫釜鍑芥暟瀹炰緥锛屼繚鎸佷簯鍑芥暟鐨勬椿璺冨害锛屾潨缁濆喎鍚姩锛屽噺灏戣繍琛岀幆澧冨垵濮嬪寲鍜屼笟鍔′唬鐮佸垵濮嬪寲鐨勬椂闂存秷鑰椼€?銆丼SR鍓嶇娓叉煋鑵捐鏂囨。鑷笂绾夸互鏉ユ湀娲婚噺宸茶揪鏁板崈涓囥€備负浜嗘敮鎸佺敤鎴峰湪鎵撳紑椤甸潰鏃惰兘澶熷揩閫熺湅鍒伴〉闈㈠唴瀹癸紝娴忚鍣ㄧ洿鎺ヨВ鏋怘TML锛岀洿鎺ヨ緭鍑哄瓧绗︿覆妯℃澘鏉ュ睍绀洪〉闈€傛祦閲忔縺澧炲鑷撮泦缇よ礋杞斤紝鍓嶇娓叉煋鍘嬪姏澧炲ぇ锛岄灞忓姞杞界紦鎱€係SR鍥㈤槦闇€瑕佸疄鐜颁竴濂楀脊鎬ч珮鍙敤鐨勭洿鍑鸿В鏋愭湇鍔℃潵澶勭悊鏂囨。鍜岃〃鏍肩殑椤甸潰鍐呭锛屼互杈惧埌鍙墿灞曘€佹槗缁存姢銆侀檷浣庡紑鍙戞垚鏈殑鐩爣銆傛枃妗g殑娓叉煋鑳藉姏鍑犱箮閮界敱鍓嶇鍚屽璐熻矗锛岃€屼笖澶ч儴鍒嗗墠绔悓瀛﹀鏈嶅姟绔殑鐭ヨ瘑绉疮姣旇緝娴咃紝鏈嶅姟寮€鍙戝拰缁存姢鐨勭粡楠屼篃姣旇緝灏戙€傞暱鏈熻繍缁存垚鏈槸鏂版灦鏋勮璁$殑閲嶈璇勪及缁村害锛岃鍓嶇鍥㈤槦鍙互鏇翠笓娉ㄤ簬涓氬姟閫昏緫鏈韩銆係erverless鏂规SSR锛圫erver-SideRendering锛夐渶瑕佷緷璧朜ode.js鏈嶅姟鏉ユ覆鏌撻〉闈紝鏄剧劧姣斿彧鎻愪緵闈欐€佹枃浠剁殑CSR锛圕lient-SideRendering锛夊簲鐢ㄥ崰鐢ㄦ洿澶氱殑鏈嶅姟鍣–PU璧勬簮銆傚€熷姪Serverless鏂规锛屽墠绔悓瀛︽棤闇€鍏虫敞SSR鏈嶅姟鍣ㄧ殑閮ㄧ讲銆佽繍缁村拰鎵╁睍锛岄€氳繃浜戝嚱鏁板皝瑁呭簳灞傛湇鍔★紝澶уぇ闄嶄綆浜嗛儴缃茶繍缁存垚鏈拰缁存姢锛屾洿涓撴敞浜庝笟鍔″紑鍙戯紝鎻愰珮寮€鍙戞晥鐜囥€傚叏鏂扮殑ServerlessWebFunciton鏈嶅姟寮€鍙戞ā寮忥紝鍙渶淇敼鐩戝惉绔彛锛屽嵆鍙洿鎺ラ儴缃叉祦琛岀殑Node.浼樺娍锛屾杩庝綋楠屻€?.澶栭儴鏈嶅姟璋冪敤-OCR鍥剧墖璇嗗埆鑵捐鏂囨。骞荤伅鐗囨敮鎸佺紪杈戝叕寮忓姛鑳姐€侽CR鍥剧墖璇嗗埆鏄吘璁枃妗e够鐏墖缁撳悎澶栭儴OCR鏈嶅姟鑳藉姏锛屽畬鎴愭枃妗d腑鍏紡鍥剧墖鍒扳€嬧€嬪叕寮忕殑杞崲锛屾柟渚跨敤鎴峰浼犵紪杈戙€傞棶棰樻槸瀵瑰鎻愪緵鐨凮CR鏈嶅姟鏈夐檺鍒讹紝涓嶆敮鎸佸墠绔姹傦紝鍙敮鎸佹湇鍔$璇锋眰銆備紶缁熸柟妗堥渶瑕佽儗鏅鐢熸帴鍏ワ紝澧炲姞浜嗕汉鍛樿皟搴︺€佸鎺ョ瓑椤圭洰绠$悊鐨勫鏉傛€с€傚浜巗erverless鏂规锛岃吘璁枃妗i€氳繃浜戝嚱鏁癝CF杞彂瀵瑰鎻愪緵鐨凮CR锛岀劧鍚庤吘璁枃妗f帴鍏ヨ仈璋冧簯鍑芥暟鎺ュ彛銆傝В鍐充簡瀵瑰鏈嶅姟鐨勯檺鍒讹紝鍚屾椂鑺傜渷浜嗗悗鍙板紑鍙戣祫婧愩€傚墠绔笟鍔″紑鍙戝悓瀛﹀彲浠ヨ嚜琛屽揩閫熷鎺ュ閮ㄦ湇鍔★紝澶уぇ鎻愰珮浜嗗紑鍙戞晥鐜囥€?銆佹彃浠朵腑蹇冣€斺€旂涓夋柟鏈嶅姟鎺ュ叆鑵捐鏂囨。鎻掍欢1.0瑙e喅鏂规鏄熀浜庢枃妗e墠绔皝瑁呭埌鍓嶇鎻掍欢SDK銆傚湪鍐呴儴鎻掍欢涓氬姟涓庢枃妗e疄鐜颁弗閲嶈€﹀悎鐨勫墠鎻愪笅锛屾棤娉曞畨鍏ㄣ€佺郴缁熷湴闆嗘垚鏂囨。鑳藉姏銆備互鎸佺画寮€鏀剧紪杈戝墠绔枃妗h兘鍔涚殑鏂瑰紡瀵瑰鎻愪緵锛屽墠绔疭DK鍜屾枃妗g鐨勫疄鐜颁細閫愭笎鍙樺緱鑷冭偪锛屾渶缁堝彲鑳戒細鎴愪负闀挎湡鐨勬妧鏈€哄眳澹敵璇枫€係erverless鏂规鎻掍欢2.0鏂规鐨勬牳蹇冩槸鍩轰簬鍚庡彴鍐呭缂栬緫鑳藉姏鐨勫紑鏀俱€傚埄鐢ㄦ枃妗g殑鏁版嵁鍝嶅簲鏇存柊鏈哄埗锛屼簯鍑芥暟鎴愪负鍓嶇-浜戝嚱鏁?鍚庡彴鍐呭缂栬緫鐨勫叧閿幆鑺傦紝寮€鏀惧疄鐜颁粠鍓嶇鍓ョ锛岄€氳繃浜戝嚱鏁版壙杞藉紑鏀俱€傚悓鏃讹紝涓嶅悓鐨勬湇鍔℃湁涓嶅悓鐨勮皟鐢ㄧ骇鍒€備簯鍑芥暟鍏锋湁澶╃劧鐨勬湇鍔¢殧绂诲拰鍔ㄦ€佷慨澶嶈兘鍔涖€備笉鍚屾湇鍔′箣闂村彲浠ョ浉浜掗殧绂伙紝鍗曠嫭鍗囩骇鎵╁锛岄伩鍏嶆湇鍔′箣闂寸浉浜掑奖鍝嶃€?.鐏板害鍙戝竷&鐜闅旂搴旂敤鐗堟湰鏇存柊鍒囨崲鏃讹紝涓轰繚璇佹暣浣撶嚎涓婄郴缁熶笟鍔$殑绋冲畾鎬э紝鍙婃椂鍙戠幇涓氬姟浠g爜闂锛岀爺鍙戝洟闃熶細閲囩敤鐏板害鍙戝竷鐨勬柟寮忚繘琛屾祴璇曡凯浠c€傞€氳繃浜戝姛鑳戒负鐗瑰畾鐗堟湰閫愭鍒囨崲娴侀噺锛屽疄鐜扮壒瀹氱増鏈钩婊戠伆搴︼紝淇濊瘉鏂颁笂绾跨増鏈湪鍙帶鑼冨洿鍐呭彂甯冭凯浠c€傞€氳繃浜戝嚱鏁扮増鏈殧绂绘祴璇曠幆澧冨拰鐢熶骇鐜锛岄€氳繃$LASTEST鍦ㄧ嚎鍥哄寲锛屾祴璇曠幆澧冪殑API缃戝叧鍙互鎺ュ叆TEST鐗堟湰锛岀敓浜х幆澧冩帴鍏ュ浐鍖栫増鏈嵆鍙‘淇濈敓浜х幆澧冪殑浠g爜璐ㄩ噺瀹夊叏銆?2.Serverless鏋舵瀯鏂规鎻愬崌鐮斿彂鏁堢巼浼樺娍鏈湴寮€鍙戞祴璇曞悗锛岃Е鍙慍I/CD娴佺▼锛屽畬鎴愰儴缃叉祦绋嬨€傚悓鏃讹紝浜戝嚱鏁版彁渚涙棩蹇楃洃鎺с€佺伆搴︺€佸彂甯冨洖婊氱瓑鑳藉姏锛屽彲浠ラ€氳繃鎺ュ彛鎴栨彃浠跺疄鐜板叏鑷姩鍖栨祦绋嬨€侰loudFunctions鍩轰簬鑵捐浜戠殑涓撲笟瀹夊叏闆嗙兢锛岃嚜甯﹁礋杞藉潎琛″拰寮规€т几缂┿€傚紑鍙戣€呭熀鏈笉鐢ㄥ叧蹇冭繍缁寸瓑闂锛屽彲浠ユ湁鏇村鐨勬椂闂翠笓娉ㄤ簬涓氬姟浼樺寲銆傛湇鍔″櫒绔粡楠岃緝灏戠殑鍓嶇寮€鍙戝伐绋嬪笀涔熷彲浠ユ洿杞绘澗鍦板紑鍙戝拰缁存姢鏈嶅姟銆傝妭璐逛簯鍔熻兘瀹炵幇1ms鐨勮璐圭矑搴︼紝鎸夊疄闄呬娇鐢ㄩ噺璁¤垂锛屽府鍔╃敤鎴疯幏寰楁樉鐫€鐨勬垚鏈紭鍔匡紝瀹炵幇鏃犳祦閲忚嚜鍔ㄤ几缂╋紝鑺傜渷閮ㄧ讲鎴愭湰銆傞珮鐏垫椿鎬у€熷姪鑵捐浜戝嚱鏁扮殑澶氱増鏈兘鍔涳紝鍙互鐏垫椿閮ㄧ讲澶氫釜鍦ㄧ嚎鐗堟湰銆傞€氳繃涓庣綉鍏崇殑閰嶅悎锛屽彲浠ヨ交鏉惧疄鐜板鐗堟湰鍏卞瓨锛屾彁渚涘畾鍒跺寲澶勭悊鑳藉姏銆傚姞閫熶笟鍔¤凯浠d娇鐢⊿erverless鏂规鍚庯紝杩愮淮鍜岀洃鎺х殑璐熸媴澶уぇ鍑忚交銆傚紑鍙戣€呭彲浠ユ洿涓撴敞浜庢柟妗堜紭鍖栧拰鎶€鏈凯浠o紝蹇€熼獙璇佷骇鍝佺壒鎬э紝淇冭繘鍥㈤槦鎶€鏈笟鍔$殑鍙戝睍銆?3.鎺㈢储鑵捐鏂囨。xServerless鏋舵瀯鐨勬洿澶氬満鏅綋鍓嶆祻瑙堝櫒鐜瀛樺湪鎬ц兘鐡堕銆傚浜庢洿澶嶆潅鐨勫紓姝ラ€昏緫锛屽彲浠ヨ€冭檻浣跨敤浜戝嚱鏁版潵鏈嶅姟閫昏緫銆傛帴涓嬫潵锛岃吘璁枃妗h鍒掑皢鍓嶇娴忚鍣ㄩ€昏緫Fass锛屽彲浠ヤ粠鍓嶇鍒版湇鍔$鍒嗙锛屼粠鑰岄檷浣庢祻瑙堝櫒鎬ц兘鍘嬪姏銆傚湪鍗忓悓鍔炲叕鐨勮建閬撲笂锛屽洟闃熺殑涓氬姟浠嶅湪楂橀€熷闀裤€傞潰瀵圭灛鎭竾鍙樼殑鎶€鏈凯浠o紝浣庢垚鏈€佸揩閫熷紑鍙戙€佸揩閫熼儴缃层€佸揩閫熶笂绾跨殑Serverless鏂规鎴愪负鍥㈤槦鍦ㄥ井鏈嶅姟鎶€鏈€夋嫨涓婄殑浼樺厛鑰冭檻銆傚缓绛戝銆傛湁浜嗕簯鍑芥暟SCF鐨勮兘鍔涳紝鍥㈤槦涓嶅啀闇€瑕佷负鍚庡彴璁$畻璧勬簮鍙戞剚锛屽彲浠ユ洿鏈変俊蹇冨湴搴斿鏇村鐨勭獊鍙戜簨浠躲€傛湭鏉ワ紝闅忕潃鑵捐鏂囨。寮€鏀惧钩鍙扮殑寤鸿锛屾洿澶氫娇鐢ㄤ簯鍑芥暟SCF鐨勫井鏈嶅姟灏嗚繍琛屽湪鑵捐鏂囨。鐨勪笟鍔′腑锛屼负鐢ㄦ埛鎻愪緵鏇村ソ鐨勬湇鍔°€侽neMoreThing绔嬪嵆浣撻獙鑵捐浜慡erverlessDemo锛岄鍙栧叏鏂癝erverless鐢ㄦ埛澶хぜ鍖咅煈夎吘璁簯Serverless鏂版墜浣撻獙銆?/p>