MySQL高可用設計方案,如果單MySQL的最佳化始終還是頂不住壓力時,這個時候我們就必須考慮MySQL的叢集方案了,目前可行的方案有:
優勢:可用性非常高,效能非常好。每份資料至少可在不同主機存一份拷貝,且冗餘資料拷貝即時同步。由於其維護較為繁瑣,因此存在一些漏洞,因此我不建議在關鍵的線上系統中使用它。
這個軟體有以下優點:具備強大的功能,可以在底層設備層級快速鏡像資料跨越不同的實體主機,並且可以根據效能和可靠性需求配置不同等級的同步。 IO操作保持順序,可滿足資料庫對資料一致性的嚴格要求。
但非分散式檔案系統環境無法支援鏡像資料同時可見,效能和可靠性兩者相互矛盾,無法適用於效能和可靠性要求都比較苛刻的環境,維護成本高於MySQL Replication。所以這個大家可根據實際環境來考慮是否要部署。
MySQL Replication被廣泛應用於提升系統擴充性的實際場景設計。眾多的MySQL用戶透過Replication功能提升系統的擴展性後,透過簡單的增加價格低廉的硬體設備成倍甚至成數量級地提高了原有系統的性能,是廣大MySQL中低端用戶非常喜歡的功能之一,也是許多MySQL使用者選擇MySQL最為重要的原因。
比較常規的MySQL Replication架構也有好幾種,這裡分別簡單說明下
MySQL Replicatioin 方案一:常規複製架構Master-slaves,是由一個Master複製到一個或多個Salve的架構模式,主要用於讀取壓力大的應用資料庫端廉價擴展解決方案,讀寫分離,Master主要負責寫方面的壓力。
MySQL Replicatioin 方案二:級聯複製架構,即Master-Slaves-Slaves,這個也是為了防止Slaves的讀取壓力過大,而配置一層二級Slaves,很容易解決Master端因為附屬slave太多而成為瓶勁的風險。
MySQL Replicatioin 方案三:Dual Master與級聯複製結合架構,即Master-Master-Slaves,最大的好處是既可以避免主Master的寫操作受到Slave集群的複製帶來的影響,而且保證了主Master的單點故障。
MySQL Replication的不足:如果Master主機硬體故障無法恢復,則可能造成部分未傳送到slave端的資料遺失。所以大家應該根據自己目前的網路規劃,選擇自己合理的Mysql架構方案,跟自己的MySQL DBA和程式設計師多溝湧,多備份(備份我至少會做到本地和異地雙備份),多測試,數據的事是最大的事,出不得半點差錯,切記。
以上是常見的MySQL高可用設計方案有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!