comes with asynchronous master-slave replication. The new replication feature should make it much easier to create a backup from a running ArangoDB server. For example, a second ArangoDB instance can now be used as a slave by cloning all data from the master. The slave will be populated in the background while the master is running and accepting requests – not disrupting the master operations.
After the initial synchronization, a slave can switch in continuous replication mode, polling the master for changes periodically. The synchronization between master and slaves is incremental: if the network connection between the slave and the master goes down, operations on the master can continue normally. When the network is up again, slaves can reconnect to the master database and transfer the remaining changes. Multiple slaves can connect to a master server, allowing to create more than one backup if required (e.g. in different locations). Master and slave(s) communicate via
ArangoDB’s HTTP API. Among other things, the replication HTTP API provides methods to * turn on and off the replication for each ArangoDB database, kick off and stop the initial and continuous synchronization on slaves * fetch the state of replication on master and slaves * poll the change log from a master etc. Replication is configured on a per-database level, meaning that different databases in the same ArangoDB instance can have different replication settings. Replication must be turned on explicitly before it becomes active for a database.
When planning to do synchronous replication and high availability?