3 ms·
Think of a web server with a fresh SQL database with no data (other than whatever is pre-populated there by the installation.) Simply record all incoming messag
by endianswap 14y ago
Think of a web server with a fresh SQL database with no data (other than whatever is pre-populated there by the installation.) Simply record all incoming messages to the server over a period of time and save it to disk. Then, when you want to replay that recording, start with a fresh database again and replay all the messages. Assuming your system is deterministic (no race conditions, generally not relying on a wall clock [there are tricks for this, since it's a harder problem[1]]) and you're good to go. The key is designing everything to support this from the beginning.
[1] Done right, you can play a minutes long recording back in seconds, which is very useful for trying to fix a bug and verifying it against a known-bad replay.