← Back to context

Comment by IX-103

2 days ago

Supposedly something like this already happened inside Google. There's a distributed data store for small configs read frequently. There's another for larger configs that are rarely read. The small data store depends on a service that depends on the large data store. The large data store depends on the small data store.

Supposedly there are plans for how to conduct a "cold" start of the system, but as far as I know it's never actually been tried.

The trick there is you take the relevant configs and serialize them to disk periodically, and then in a bootstrap scenario you use the configs on disk.

Presumably for the infrequently read configs you could do this so the service with frequently read configs can bootstrap without the service for infrequently read configs.

  • Like a backup generator for inputs. Makes sense.

    • Yes, this is how I have set up systems to bootstrap.

      For example a service discovery system periodically serializes peers to disk, and then if the whole thing falls down we have static IP addresses for a node and the service discovery system can use the last known IPs of peers to bring itself back up.