2011-09-18 109 views
1

我有一個運行在負載平衡環境(2個Windows服務器)上的ASP.Net網站。它連接到運行在兩臺運行Ubuntu的Linux服務器上的集羣MySql數據庫。使用.Net連接器配置MySql集羣故障轉移

在試圖通過我們的JetNexus負載均衡器路由MySql數據時,我們遇到了很多錯誤,所以我試圖找出是否有某種方式來配置單個Web服務器自動數據庫服務器故障轉移檢測。如果我使用MS-SQL,我會使用「故障轉移夥伴」參數配置連接字符串,但MySql不支持該參數。還有沒有其他的東西呢,還是有這個問題的替代解決方案?

額外的信息:

  • 我使用MySQL連接器6.4.3,ASP.Net 4.0,MVC 3.0,數據庫運行MySQL集羣7.1.15a,cluster_server 5.1

  • 我已經嘗試在連接文件中指定多個MySql主機(使用「server = 192.168.0.1 & 192.168.0.2」),雖然這似乎起作用,但它不會自動檢測到故障轉移並崩潰,只要我拿出其中一個數據庫。

  • 我遇到過一種叫做「MySQL代理」的東西,看上去應該符合法案,但我們有一個硬件負載平衡器,所以我會花時間試着讓它正常工作,而不是實施一個額外的軟件代理。

  • 我們得到的錯誤是「System.IO.EndOfStreamException:試圖讀取流的結尾」。當我們通過負載平衡器運行MySql時,會間歇性地發生這種情況。這是一個單獨的問題,可能與問題沒有關係,但爲了完整起見,我已將其包含在此處。

感謝您的閱讀!

回答

1

我不完全理解的MySQL Cluster(從來沒有使用過),但我建議:

是否有可能把集羣服務器的單個IP下?那麼Ubuntu或MySQL羣集負載平衡處理故障轉移?