我目前正在使用基于 Galera Cluster 的 Percona XtraDB Cluster。在 Galera 文档中,我看到了以下内容:
Warning: When using Galera Cluster in master-slave mode, all four levels are available to you, to the extend that MySQL supports it. In multi-master mode, however, you can only use the REPEATABLE-READ level.
问题是我的应用程序正在使用READ-COMMITTED
隔离级别。所以我想了解 Galera 如何在这种隔离级别下运行。根据上面的警告,Galera 应该只能在主从模式下工作。这意味着只有一个节点应该允许写入。
但我做了一个实验:拥有一个有 3 个节点的集群(在使用 Docker 的单台 PC 上),我将所有节点上的隔离级别更改为 READ-COMMITTED,重新启动这些节点并尝试在每个节点上进行写入查询 - 全部成功,这与上面的警告相冲突。
所以,这里我的问题是:
- Galera 如何对非“REPEATABLE-READ”隔离级别做出反应?
- 如何查看集群是主主还是主从模式?从节点不应该拒绝写查询吗?