開發(fā)模式
- 確定需求(產(chǎn)品經(jīng)理/領導/客戶);
- UI 設計效果圖;
- 前后端約定接口文檔;
- 前后端并行開發(fā);
- 前后端集成;
- 需求交付(提測/上線);
前后端半分離
如圖,為前后端半分離。
分離與半分離的標志在于誰握著組裝數(shù)據(jù)的邏輯,如果在前端,那就是前后端分離!否則就是半分離!
前后端分離
如圖,為前后端分離。
優(yōu)點
- 前后端徹底分離,即便后期有服務遷移,也不需改動前端代碼;
- 更好的適配前端,業(yè)務更向前靠攏,在 BFF 層進行接口組裝;
- 對于后端,確定了更清晰的服務邊界;
- 對于前端,可自行在 BFF 層 mock 數(shù)據(jù);
缺點
- 增加了開發(fā)成本;
- 中間層轉(zhuǎn)發(fā)增加請求延遲;
BFF 層大多數(shù)情況下歸屬于前端負責,使用 nodejs開發(fā),完成請求轉(zhuǎn)發(fā)和數(shù)據(jù)轉(zhuǎn)化。
架構圖參考:
反思
如果系統(tǒng)分層了,但是人的職責沒分層,那就違反了康威定律!如果只有三五個開發(fā),應該考慮的不是服務拆分,而是服務聚合。
免責聲明:本文內(nèi)容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!