2008-11-01 93 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。

如果您澄清了您的最佳表現(即性能,正常運行時間,設置簡便性等),您可能會收到更多有用的回覆。