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.
- 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.