Distributed Fault-Tolerant Food Ordering System

  • Category: Distributed System
  • Client: Durham University
  • Project date: March 2020


A food ordering app built from distributed parts that can be created or destroyed at any scale without failure. Made using URLlib and Pyro4 in Python.

STAR Breakdown

  • Situation: In order to learn more about distributed systems, I wanted to explore how scalable and fault-tolerant I could make a system in Python.
  • Task: I was tasked with creating a food ordering app out of several distributed components and to make the system as resistant to individual part failure as possible.
  • Action: Firstly, I created a diagram of the several components in the system and how they would link together. I then realized the frontend of this diagram and worked backwards, creating each component from the front to backend. I then began implementing capability to automatically generate and link components. These components then were implemented to communicate and update their recorded transactions to resist failures and allow for frictionless reboots.
  • Result: The result is a completely scalable system that is integrated and entirely resistant to failure and restarts.