galera集群的同步性如何

时间:2018-03-22 13:32:07

标签: galera

其实这里有几个问题。

1)当我使用Mysql连接器从我的应用程序调用insert时,它由一个主节点应答,但该主节点是否在所有节点上应用插入之前等待,然后回复客户端。如果它在回复客户端之前等待所有节点插入,那么wsrep_sst_method = xtrabackup如何帮助,它会立即回复客户端还是没有区别。也许我理解这个变量是错误的。

2)读取怎么样,我猜它只是由一个主节点回答。如果仅在该情况下设置wsrep_sync_wait,则它等待来自所有节点的回复。 感谢

1 个答案:

答案 0 :(得分:3)

“如何同步”?同步足够,但有一个例外:“严格阅读”。

“修复”是在阅读期间,而不是写作。

  1. 时,重量级检查在COMMIT期间完成。此时,将联系所有其他节点以查看“此事务将最终成功提交”。也就是说,其他节点说“是”但实际上并没有完成足够的工作以使后续的SELECT看到写入的结果。这里的保证是,集群处于一致状态,即使任何一个节点死亡,也会保持这种状态。

  2. “严重读取”是指,例如,当用户发布内容时,立即读取数据库并期望看到发布。但是,如果读取(SELECT)遇到不同的节点,则Galera的“几乎”同步性质可能没有将数据提交给读取节点。数据 成功写入磁盘,但尚未。解决方法是在阅读时使用wsrep_sync_wait ,以确保在SELECT之前捕获复制。 时不采取任何措施。

  3. (我没有看到wsrep_sst_method=xtrabackup的相关性。这与从死节点恢复有关。)