What is Marmot?
Marmot is a distributed SQLite replicator that runs as a side-car to you service, and replicates data across cluster using embedded NATS. Marmot relies on JetStream based CDC (Change Data Capture) to replicate changes. JetStream under the hood uses RAFT for consensus and allows for eventually consistent SQLite replicas (multi-primary replication).
What is Isso?
Isso is a commenting system like Disqus. Users can edit or delete own comments (within 15 minutes by default). Best part about Isso is that it uses SQLite!
What is Fly.io?
Fly is a platform for running full stack apps and databases close to your users. Compute jobs at Fly.io are virtualized using Firecracker, the virtualization engine developed at AWS as the engine for Lambda and Fargate.
Why should I care?
This demo effectively shows how Isso can be scaled out and pushed closer to the edge. Many out of box SQLite tools can be scaled similarly. Your fly.io nodes scale up or down based on traffic, and write from everywhere. This allows horizontal scalability of your Isso close to the user. With NATS embedded into Marmot, a sharded RAFT is used to capture changes, and replay them across the fly nodes. So if you are running a single node SQLite site you can now add redundancy to that with Marmot.
How do I configure one for myself?
You can access code and follow the instructions here.