启用加莱拉集群与DB写入断开连接节点

问题描述 投票:0回答:1

我们有5个岛屿,我们有加莱拉节点。有上岛频繁的互联网连接断开。当一个节点断开连接,它的表被锁定用于读取和写入。但其同步并可供上网的时候恢复。在MariaDB的复制读写可用于断开连接的节点,但它不是一个很好的解决方案。

是否有可能已经阅读并加莱拉断开连接节点上写的?是否有任何其他的解决方案适用于这样的场景?

mysql database replication galera database-cluster
1个回答
0
投票

也许加莱拉是不是一个非常片状网络的解决方案。

如果每个岛都有自己的服务器,它是可靠的“足够”,一半的问题就解决了。获取数据(和)其他岛屿需要与这些计划背后的应用程序代码来实现。

架构和数据流设计将需要避免出现UNIQUE(或主要)键可以同时在不同的岛屿来创建各种情况。 UUID的是一个解决方案,但它并没有对庞大的数据库系统运行良好。

再有就是“陈旧”数据的问题。如果一个孤岛服务器有从其他岛屿“旧”的数据,可能在用户胡来通过作用于陈旧的数据?

底线:无论是在使网络更加健壮,或站在你的头上,使应用程序强大的工作。

备择方案...

圆形的,超过2实在是太差了。任何停电离开休息一个奇怪的状态 - 有些复制正在发生的事情,有的不是。如果一个服务器实际上死了,那么它是一个大的梦魇修复。

多源复制......既然你有小的数据库,以及岛屿间的访问是只读的,这可能是一个很好的解决方案。你有一台服务器是从所有其他人。也就是说,每个岛将有一个法师,和(当网络工作)复制的东西是共同的奴隶。 (一个岛屿,更容易保持联系?)

复制/集群简历复制并很快的所有形式的“追上”网络活跃起来后再次。

至于UUIDsAUTO_INCREMENT - 如果所有写入任何特定的表和所有相关的表都只能通过一个岛服务器来了,那么我不认为有必要的UUID。

(反正只有100MB /岛,大概的UUID不会脱落性能悬崖。)

© www.soinside.com 2019 - 2024. All rights reserved.