brandon-otoole / eng-board

A pen enabled whiteboard app for iPad and Surface Pro.
0 stars 0 forks source link

Backend is not horizontally scalable or durable #11

Open brandon-otoole opened 11 months ago

brandon-otoole commented 11 months ago

The room data and drawing histories are all stored in memory within the backend. Server crashes, restarts will clear all history.

For realtime speed, something like redis should be used. To enable horizontal scalability, a message queue like redis pub/sub, or other needs to be implemented between nodes For durability, either Redis backup, or a typical database should be used

brandon-otoole commented 10 months ago

The major components needed for durability of data:

Components needed for scalability:

brandon-otoole commented 10 months ago

Given that durability and scalability are different concerns. I will first focus on durability of data by deploying reddis as a container. This works well with the current deployment strategy using docker compose.