我有关于分布式系统的课程的期末项目,所以这里是:
一家公司需要 3 台数据库服务器(例如:数据库 a、b、c)一起工作。因此,如果有人将数据插入数据库 a ,则另一个数据库( b 和 c )也将拥有该数据。但是当网络断开时,数据库服务器将像独立服务器一样工作。但是当网络再次连接时,在网络断开期间插入的所有数据都会分发到其他数据库。示例:数据库a与其他数据库断开连接,有人向数据库a插入数据。并且在数据库连接到其他数据库之后,其他数据库将再次拥有该数据。
我尝试使用 galera,但是当网络断开时它会无法插入数据。
Galera 的原则是需要一个“法定人数”来声明集群是活跃的。
例如,如果“a”与“b”和“c”断开连接,但“b”和“c”仍在相互交谈,那么
那是加莱拉。如果你有普通的 MySQL 多主机,当网络中断时你会做噩梦。
NDB Cluster 以不同的方式工作——每个节点都可以断开连接。但是,您必须为数据的“最终一致性”提供规则。