一 簡介 我們來**下多機房下的mysql架構
二 目的:
首先要清楚你的目的
1 實現異地機房的容災備份
2 實現異地機房的雙活
三 敘說
1 實現異地機房的容災備份
目的 只是將資料備份到異地,當第一機房發生故障時,能最大可能的保留資料.實現冗餘效果
業務 核心業務在第一機房,第二機房和第一機房都共同使用第一機房的資料來源,只有當第一機房發 生故障時,核心業務才會切換到第二機房
實現難度 簡易
角色 1 資料備份冗餘 2 故障發生時的資料寫入保留
2 實現異地機房的雙活
目的 多機房狀態下的多業務進行
業務 核心業務在第一機房和第二機房都開展,各自有本地的資料來源,當某一機房發生故障時,核心業務會合併到正常的機房
實現難度 複雜
角色 1資料備份冗餘 2 支撐異地業務和故障的業務再支援
四 針對單一業務的解決方案
資料庫角度
1 單一業務 只需在異地機房搭建mysql從庫即可,做好mysql從庫的延遲監控,定期備份,開啟讀寫,實現了資料庫的冗餘備份,不要求高實時性和資料準確性
2 採用 mgr/pxc 方案,但是還是單寫方式,這樣能實現異地機房的高一致性,但是記住這樣的架構依賴於非常好的專線網路,否則會降低整個集群的效能
3 採用 半同步複製,只要binlog傳輸到異地機房則代表可以繼續進行,這樣至少能保證binlog的成功儲存,也可以直接採用binlog_server 儲存binlog
4 採用程式中介軟體和對資料庫的二次改造 通過對異地機房程式進行資料的確認和減少binlog的傳輸量入手
程式角度
1 雙機房程式共用第一機房的資料來源,第二機房的資料來源不會使用,建議採用dns方式,當第一機房掛掉後,dns才會轉移到第二機房提供正常服務
五 針對多機房業務的解決方案
1 雙機房都提供讀寫服務,針對db級別進行拆分,比如db1在第一機房讀寫 db2在第二機房讀寫,機器在雙機房進行資料同步,實現異地雙活提供服務和資料冗餘備份功能
2 採用mgr/pxc方案,是多寫方式,這樣能實現雙機房資料的一致性
3 採用程式中介軟體和對資料庫的二次改造實現
六 總結:
建造異地機房必須要考慮的幾個方面
1 良好穩定的網路頻寬
2 減少網路開銷,壓縮binlog或者ws(mgr/pxc的驗證機)網路引數優化
3 按照業務優先順序進行建造
4 異地資料的確認
mysql 容災 災備 備份
1 使用mysqldump命令備份 mysqldump命令將資料庫中的資料備份成乙個文字檔案。表的結構和表中的資料將儲存在生成的文字檔案中。mysqldump命令的工作原理很簡單。它先查出需要備份的表的結構,再在文字檔案中生成乙個create語句。然後,將表中的所有記錄轉換成一條insert語句。然...
mysql 架構 異地容災
一 簡介 我們來 下多機房下的mysql架構 二 目的 首先要清楚你的目的 1 實現異地機房的容災備份 2 實現異地機房的雙活 三 敘說 1 實現異地機房的容災備份 目的 只是將資料備份到異地,當第一機房發生故障時,能最大可能的保留資料.實現冗餘效果 業務 核心業務在第一機房,第二機房和第一機房都共...
Oracle 容災方案
一 容災基本概念 1 陣列的複製技術 硬體 通過在陣列之間進行複製,異地儲存資料 要求 兩邊的系統配臵一致,用於大資料量的環境,備份方,可以不設 主機,只需要儲存裝置。對儲存裝置和網路環境要求比較高。比如 emc 儲存 2 基於邏輯卷的複製技術 作業系統層面 lv logical volumn 的映...