Config Store Reliability Try it

What if Prefab.cloud goes down?

Uptime is incredibly important to us at Prefab.Cloud but configuration is critical infrastructure so it's important to have a belt & suspenders approach.

Prefab.Cloud clients store all config locally so they are robust to network blips or outtages. If Prefab.Cloud is unavailable all clients will continue to work as is because they keep config locally, but they will not be able to receive new configuration.

If Prefab.Cloud is unavailable new clients will be able to start as long as they can read from Amazon S3. An updated copy of your config is always available in S3 so clients can bootstrap of this highly available source.

Startup

On startup, config clients load config in the following order:

  1. Classpath Config Files matching .prefab*config.yaml
  2. Previously Saved Snapshots from S3
  3. PrefabCloud API Streaming updates
  4. Local Override Files matching .prefab*config.yaml
config snapshots diagram

Reconfiguring Config File Locations

The classpath config file location can be changed with PREFAB_CONFIG_CLASSPATH_DIR

The local override config file location can be changed with PREFAB_CONFIG_OVERRIDE_DIR

Secondary Suspenders

Config updates will typically arrive in < 10ms. In some very rare failure scenarios it's possible that a broadcast of configuration updates will not reach your clients. To make sure that clients don't miss that update forever, there is a secondary suspenders that will pull from S3 every 60 seconds. This is configurable with PREFAB_CHECKPOINT_FREQ_SEC.