- #100
- #99
- #98
- #97
- #96
- #95
學會新概念 Backend for Frontend (BFF)
了解一下發現是一種 API Gateway Pattern 的延伸,簡單來說是一個 API 的代理架構,用來滿足多樣化前端需求的專屬後端(注重業務邏輯,進行數據整合、轉換和裁剪)。
舉例多種前端需要和多個服務索取資料,將產生問題:
- 前端不是與多個後端服務緊密耦合(造成依賴性高)就是使用過於通用的 API(無法滿足特定需求)
- 須與不同服務頻繁溝通
- 安全性問題(暴露具體服務 Endpoint)
這時候如果多設置一層 BFF,可以將所有溝通進行集中並且提供最合乎需求的 API 供前端使用,當然也會產生額外的問題:
- 增加複雜度
- 增加延遲
- 增加單點故障的可能性
如果前端和後端服務到達一定複雜程度,創建 BFF 是一種解決問題的選項。許多現代框架像是 Next 或 Nuxt 都具備全端能力,是一個快速切入的好選項,也可以讓處理 Client 的團隊接手 BFF 降低維護成本並提高開發效率。
- #94
- #93
- #92
- #91
- #90
- #89
- #88
- #87
- #86
- #85
- #84
- #83
- #82
- #81
- #80
- #79
- #78
- #77
- #76
- #75
- #74
- #73
- #72
- #71
- #70
- #69
- #68
- #67
- #66
- #65
- #64
- #63
- #62
- #61
- #60
- #59
- #58
- #57
- #56
- #55
- #54
- #53
- #52
- #51
- #50
- #49
- #48
- #47
- #46
- #45
- #44
- #43
- #42
- #41
- #40
- #39
- #38
- #37
- #36
- #35
- #34
- #33
- #32
- #31
- #30
- #29
- #28
- #27
- #26
- #25
- #24
- #23
- #22
- #21
- #20
- #19
- #18
- #17
- #16
- #15
- #14
- #13
- #12
- #11
- #10
- #9
- #8
- #7
- #6
- #5
- #4
- #3
- #2
- #1