几天前,我在贝尔格莱德参加了一些 IT 会议。Agenda 上有一个关于 MySql 和 MySql 中的集群的话题,MySql 的人说他们有解决集群裂脑问题的最佳解决方案,有没有人对此有所了解,这是真的还是只是一个营销技巧?
vaske
问问题
6559 次
2 回答
5
MySQL Cluster 需要至少 3 个系统,这使得它可以让其中一个节点成为处理脑裂场景的仲裁者。其中两个系统可以运行数据节点/mysqld节点,第三个需要运行管理节点(通常默认为仲裁器,但SQL节点也可以作为它们运行)。
如果出现脑裂设置(即两个数据节点无法再相互通信,但它们仍在运行),那么它们将意识到这一点并要求仲裁器决定允许哪个节点继续运行。如果一个节点不能与仲裁者对话,那么它将关闭。仲裁者可以从所有节点中选择一个节点继续运行并告诉其他节点关闭。
仲裁器通常是管理节点,但也可以是数据节点。如果仲裁者失败,则集群可以选举一个新的仲裁者。但是,它不能在仲裁期间执行此操作,因此如果数据节点和仲裁器同时发生故障,则第三个节点将关闭。
当然,当您有多个节点组时,它会变得有点复杂,但同样的基本思想也适用于这些情况。
您可以在MySQL Cluster FAQ中阅读更多相关信息。
于 2008-11-01T21:33:30.817 回答
0
这是否属实是主观的,虽然我听说mysql的集群支持很好。然而,这个概念绝对支持并用于其他数据库,例如用于 postgres 的 Slony-I。
如果您澄清您所指的最佳方面(即性能、正常运行时间、易于设置等),您可能会得到更有用的回复。
于 2008-11-01T22:32:45.330 回答