Buffalo: when Node and APIs become BFFs
summary
IFTTT moves from a monolith to microservices, then to per-client BFFs bundled as Buffalo, built on Node using promises and async/await. Services show median ~150 ms, average ~200 ms and occasional spikes to ~1500 ms; traffic reaches millions of users and billions of API calls daily. Buffalo implements p-timeout, p-retry and p-limit patterns (and can use opossum circuit breakers) so coordinators throttle, retry, timeout and succeed more often, and teams deploy client-specific backends that measurably tame latency and failures.
AI-written summary · about
chapters (13)
- 0:00Start
- 0:55IFTTT
- 2:13that architecture became challenging
- 4:51We looked at what other people were doing...
- 5:39but API Gateways have their limitations too
- 6:28ambiguity
- 7:10backends for frontends
- 9:29simple concurrency primitives
- 9:43building reliable BFFs with node
- 9:55loading async resources
- 11:57timeouts
- 17:40using promises to build well behaved BFFs
- 22:12start with the simplest solution you can think of and then grow it fron
related talks
53mMastering Node.js Performance
29mSolving Real World Data Fetching Challenges: A Pragmatic Case Study
30mCaching, Payloads, and Other Dark Arts
55mGive it a REST - Tips for designing and consuming public API's
22mMulti-tiered Node.js architectures
37mAPI Horror Stories from an Unnamed Coworking Company
35mServerless WebSockets at Scale
29mA world of Rest APIs ... from Restify to a faster Fastify
