Architektura Pokročilý
Backends for Frontends (BFF)¶
BFFAPI GatewayFrontend 3 min čtení
BFF pattern: separátní backend pro každý typ klienta. Web, mobile, IoT — každý má jiné potřeby.
Problém jednoho API¶
Mobile potřebuje jiná data než web. Jedno API = over-fetching, under-fetching, kompromisy.
Architektura¶
Web UI → Web BFF → [Order Service, User Service, Analytics]
Mobile → Mobile BFF → [Order Service, User Service]
IoT → IoT BFF → [Telemetry Service]
Příklad¶
// Web BFF — plná data
app.get('/api/dashboard', async (req, res) => {
const [orders, stats, notifs] = await Promise.all([
orderService.getRecent(20),
analyticsService.getDashboard(),
notificationService.getUnread()
]);
res.json({ orders, stats, notifs });
});
// Mobile BFF — optimalizovaná odpověď
app.get('/api/dashboard', async (req, res) => {
const orders = await orderService.getRecent(5);
res.json({ orders: orders.map(o => ({ id: o.id, status: o.status })) });
});
Shrnutí¶
BFF je správná volba s více typy klientů. Každý BFF ideálně vlastní tým vyvíjející daný frontend.
Potřebujete pomoct s implementací?¶
Náš tým má zkušenosti s návrhem a implementací moderních architektur. Rádi vám pomůžeme.