Build snapshots with a message queue
Instead of periodically creating snapshots on a timer, create a new worker that consumes a message queue of new actions. When a new action comes in to the socket handler publish on to the queue. Only keep X amount of snapshots (per layer).
Possible issues and problems to solve:
- Keeping messages in order
- How to handle nack'ing messages?
- Multiple worker instances
The hope is that this can help alleviate anticipated performance and user experience issues with an undo feature.
Edited by Corey Schram