They're using litestream [1] to replicate a SQLite database, which streams additions to the SQLite WAL file to object storage and can replay it back. This is fairly hands-off from SQLite's perspective. There's also the SQLite Session Extension [2] that is a built-in way to support generating and applying "patches".

I'm curious how these tools will mature, it seems like a good match for microservices.

[1]: https://github.com/benbjohnson/litestream

[2]: https://www.sqlite.org/sessionintro.html

The litestream project was created by https://github.com/benbjohnson who wrote https://github.com/boltdb/bolt (a key value store) which has been instrumental (from my point of view) in the Go community as one of the original choices for an embedded database as it was not only fast, but had transactions with stable snapshots.

It was used by https://github.com/blevesearch/bleve, https://github.com/etcd-io/etcd, and number of other projects.

These days, https://github.com/dgraph-io/badger is often favored because of it's improved write throughput.