我已按照本教程进行操作,并在 NGINX 反向代理后面设置了一个 3 服务器集群。
我可以在集群中的任何服务器上创建数据库或表,并且它可以很好地复制。然后,我从我们的应用程序中导出所有表(首先作为一个 SQL 转储),并将其导入到其中一个节点。
一些较大的表(我们谈论的是总共 1gig,而不是海量数据)在我正在导入的节点上创建并导入了数据,但没有复制到其他两个节点。
所以我删除了数据库,然后只导入了一个结构,这样就没问题了。然后我为每个表导出一个文件 :/
导入所有小表都没问题,但较大的表再次导入时,仅导入到我要导入的节点。
我已将负载平衡设置为目前仅向该“主”节点发送流量。
有没有办法强制刷新 3 台服务器之间的数据?
服务器设置:
- 3 个相同的 Ubuntu 18 VM
- 同一物理主机
- 10G内部网络
答案1
请参阅有关 Galera 的“关键读取”解决方案的讨论: http://mysql.rjweb.org/doc.php/galera#critical_reads
这保证了所有数据都已存储在接收节点上。