跨多个服务器复制sqlite数据库的方法

Man*_*rra 22 sqlite replication high-availability distributed-computing rethinkdb

我正在开发一个分布式的应用程序,我有一个必须在分布式服务器之间共享的SQLite数据库.如果我在serverA中,并且更改sqlite行,则此更改必须立即在其他服务器中,但如果服务器处于脱机状态,然后它在线,则必须更新所有信息等于其他服务器.

我正在尝试使用小型SQLite数据库开发HA服务.

我正在考虑像MongoDB或ReThinkDB这样的东西,因为复制工作正常,我有独立的服务器在线数据.

有一个库或其他SQL方法在服务器之间共享数据?

提前致谢.

小智 11

我使用Raft共识协议来复制我的SQLite数据库.你可以在这里找到系统:

https://github.com/otoolep/rqlite


小智 6

您可以通过在应用程序中嵌入SymmetricDS来同步 SQLite 数据库。它支持偶尔连接的客户端,因此它会在服务器上线时捕获更改并同步它们。它支持多种不同的数据库平台,可用作库或独立服务。


Ber*_*mos 6

您可以使用LiteReplica

它使用单个主服务器(可写节点)和一个或多个副本(只读节点)支持SQLite3数据库的主从复制。

如果设备脱机然后又联机,则辅助数据库/从数据库将用主数据库/主数据库进行增量更新。

LiteSync

它实现了多主机复制,因此即使设备处于脱机状态,我们也可以在任何节点上写入db。

在这两者上,我们使用修改后的URI打开数据库,如下所示:

  “文件:/path/to/app.db?replica = master&bind = tcp://0.0.0.0:4444”

披露:我是这两种解决方案的作者