Mis on Backend Frontendile
Eraldi backend igale frontendile
BFF (Backend for Frontend)
Backend for Frontend — arhitektuurimuster, kus iga klienditüübi (veeb, mobiilirakendus, IoT) jaoks luuakse eraldi backend-kiht.
Miks BFF-i vaja on
| Probleem ilma BFF-ita | Lahendus BFF-iga | |-----------------------|------------------| | Üks API kõigile klientidele | Optimeeritud API igale kliendile | | Liigne andmehulk vastustes | Ainult vajalikud väljad konkreetse UI jaoks | | Keeruline loogika kliendis | Andmete agregeerimine serveris | | Aeglane laadimine mobiilis | Minimeeritud päringud ja andmed |
Arhitektuur
[Veebirakendus] → [Veeb BFF] ↘
→ [Mikroteenused]
[Mobiilirakendus] → [Mobiili BFF] ↗
Millal kasutada
- Erinevad kliendid — erinevate vajadustega veeb, iOS, Android
- Mikroteenuste arhitektuur — palju teenuseid agregeerimiseks
- Jõudluse optimeerimine — andmete minimeerimine mobiili jaoks
- Sõltumatud meeskonnad — eraldi frontend- ja backend-meeskonnad
Eelised
- Optimeerimine iga klienditüübi jaoks
- Sõltumatu juurutamine
- Muudatuste isoleerimine
- Lihtsustatud kliendikood
Puudused
- Loogika dubleerimine BFF-ide vahel
- Teenuste arvu kasv
- Muudatuste sünkroniseerimise keerukus