前端中台扫盲
中臺
課堂筆記
什么是中臺
以拍電影為例: 我們看到的前臺就是產出的電影本身,后臺是整個拍攝組,那么中臺就相當于橫店影視城,提供可復用的場景來供后臺使用,比如拍古裝、民國片對應的場景,來產出不同的電影。
前臺:所見即所得
后臺:復雜邏輯
中臺:擁有可復用的場景的平臺
中臺的作用/特點
減少重復勞動、賦能、平臺化
中臺的劃分
主要分為:前臺與后臺之間的中臺、技術中臺、業務中臺、組織中臺
舉例: GraphQL、FireBase、Kubernetes、PostgREST、LeanCloud等
除此之外還有兩種特殊的
孵化中臺的中臺:例如Spark、Storm等,可以孵化語音識別、人臉識別的AI中臺,而這些孵化的中臺可以給其它項目來用
調度中臺的中臺:比如淘寶會把很多中臺產出的項目合成到一個時間線上,這些都是需要有一個中臺來調度
涉及到的代碼概念
元數據(metadata):用來描述數據的數據,比如下圖中常見的請求頭和響應頭
高階函數
- 處理函數的函數(arr.reduce)
- 返回函數的函數 (koa中 app.use())
Proxy server:代理服務器
ES6 Proxy: 方便開發者劫持對對象的操作
- getter/setter
- Function call/construct
來看下面這段代碼,axios,從空對象空手套白狼,來攔截get方法,一層層攔截name,method屬性
使用如下:
小結
元數據可以用來生成新項目的數據庫,生成接口調用。
用高階函數,固化處理邏輯、留空處理邏輯,固化處理邏輯就是剛才說的孵化的AI人臉識別的中臺就是專門做AI識別的邏輯,留空處理舉個例子就是reduce方法留空了處理邏輯,傳過來方法才開始處理。
Proxy來代替用戶去做一些事,并且可以無感知的優化。比如數據庫中間件,當用戶秒殺下單時,自動做讀寫分離,交易太多打爆了之后重新把數據庫重新拉起來,一筆一筆的去重新下訂單。
簡單項目舉例:
| 前臺 | 營銷頁面 | 用戶 | 元數據生成頁面 |
| 后臺 | 營銷后臺 | 產品、營銷、策劃 | 生成元數據 |
| 中臺 | 套娃中臺 | 前端、后臺 | 擴展元數據 |
簡單列舉一個表單配置項的例子,我們在前端提交下圖這樣的元數據給后端存儲,前端通過fetch來獲取對應頁面的元數據:
在前端頁面這樣去填充:
最終用戶看到的是這樣的頁面:
業務擴展方向
海報配置項、表單配置項、RestfulAPI生成項
總結
我們聽過阿里提出的「大中臺、小前臺」,但是對中臺這個概念卻一直不能理解,通過文中對中臺的特點,作用以及劃分來逐步完善對它的認知。
并且對涉及到的元數據、高階函數、proxy等概念也做了概述。然后通過代碼舉例來說明元數據到頁面的展示,希望大家能對中臺這個概念有一個了解。
思考:中臺和基建、PaaS服務有什么關系?
總結
- 上一篇: php 系统管理和监控软件
- 下一篇: HTML显示JSON数据格式