2008-11-01 210 views
2

几天前我在贝尔格莱德参加了一些IT会议。 On Agenda是关于MySql的一个主题,并且在MySql中进行了集群化,MySql的人表示他们拥有集群分裂大脑问题的最佳解决方案,是否有人知道关于此的一些事情,这是真的还是仅仅是一种营销手段?MySql集群“裂脑”解决方案?

回答

5

MySQL集群需要至少3个系统,允许其中的一个节点成为处理脑裂情况的仲裁者。其中两个系统可以运行数据节点/ mysqld节点,第三个系统需要运行管理节点(默认情况下通常是仲裁器,但是SQL节点也可以作为它们运行)。

如果发生分裂大脑设置(即,两个数据节点不能再相互通话,但它们仍在运行),那么他们会意识到并要求仲裁者决定允许哪个节点继续运行。如果一个节点不能与仲裁器通话,它将会关闭。从仲裁者可以与之交谈的所有节点中选择一个节点继续运行并告诉其他节点关闭。

仲裁者通常是管理节点,但也可以是数据节点。如果仲裁员失败,那么集群可以选择一个新的。但是,它不能在仲裁期间执行此操作,因此如果数据节点和仲裁器同时失败,则第三个节点将关闭。

当然,如果您有多个节点组,它会变得更复杂一些,但在这些情况下也适用相同的基本思路。

您可以在MySQL Cluster FAQ中阅读更多关于此的内容。

+0

我知道所有这一切,你基本上没有回答这是真的还是不是? – vaske 2008-11-01 21:42:02

0

虽然我听说mysql的集群支持很好,但这是否属实,这是主观的。然而,这个概念绝对支持并用于其他数据库,如Postgres的Slony-I。

如果您澄清了您的最佳表现(即性能,正常运行时间,设置简便性等),您可能会收到更多有用的回复。