A backend-for-frontend service sits between a frontend client and multiple backend services. It makes the downstream calls, aggregates their responses, and presents one client-specific API. This reduces network round trips and keeps shared aggregation, retry, and failover logic out of web and mobile clients. section 10.2
The pattern helps when a frontend depends on several independent services:
- Aggregate product, inventory, cart, and favorites data into one storefront response. section 10.3 section 10.3.1
- Tailor separate backend-for-frontend services to different client types, such as web and mobile interfaces. section 10.2
- Short-circuit slow or failed dependencies so clients receive usable partial data instead of waiting indefinitely. section 10.3.3
E-commerce product listing
A desktop storefront requests products, inventory, cart count, and favorite count through one API. Product data must arrive within one second; cart, favorites, and inventory are optional. The response can therefore contain product data while representing unavailable counts as null, preserving a usable page during downstream failures. section 10.3.3
Use the architecture diagram to trace the client-specific service between frontend clients and the downstream microservices it aggregates. section 10.2



