"For the past 6 months we’ve been working with a client to build a Phoenix powered API for processing online food orders and delivering them to restaurants. Along the way we’ve built a series of services, written with OTP, that are resilient in the face of unpredictable third party APIs and store outages, able to handle failure in isolation, and scale to the demands of an expanding restaurant chain.
This talk will walk through some of the services outlined above as well as covering:
The overall architecture of the project and the OTP applications it’s composed of.
Thinking outside of the database; using ETS and process state to power our real-time restaurant availability service.
Batched processing without job queues; using plain OTP concepts to build a service that’s designed for failure.
Some gotchas we learned on the way to production."