Frontend үшін Backend дегеніміз не
Әр frontend үшін бөлек backend
BFF (Backend for Frontend)
Backend for Frontend — әр клиент түрі (веб, мобильді қосымша, IoT) үшін бөлек backend қабаты жасалатын архитектуралық үлгі.
BFF неге қажет
| BFF-сіз мәселе | BFF-пен шешім | |----------------|---------------| | Барлық клиенттер үшін бір API | Әр клиент үшін оңтайландырылған API | | Жауаптарда артық деректер | Нақты UI үшін тек қажетті өрістер | | Клиенттегі күрделі логика | Серверде деректерді жинау | | Мобильде баяу жүктелу | Минимизацияланған сұраулар мен деректер |
Архитектура
[Веб App] → [Web BFF] ↘
→ [Микросервистер]
[Мобильді App] → [Mobile BFF] ↗
Қашан қолдану керек
- Түрлі клиенттер — әртүрлі қажеттіліктері бар веб, iOS, Android
- Микросервис архитектурасы — жинау үшін көптеген сервистер
- Өнімділікті оңтайландыру — мобильді үшін деректерді азайту
- Тәуелсіз командалар — бөлек frontend және backend командалары
Артықшылықтары
- Әр клиент түрі үшін оңтайландыру
- Тәуелсіз орналастыру
- Өзгерістерді оқшаулау
- Жеңілдетілген клиент коды
Кемшіліктері
- BFF-тер арасында логика қайталануы
- Сервистер санының көбеюі
- Өзгерістерді синхрондаудың күрделілігі