Mysql高可用方案對比

Mysql高可用
HA解決方案 簡介 開發語言 發佈時間及組織 目前狀態 架構方式 切換方式 優點 缺點 適用場景 安裝使用
MHA Master High Availability的簡稱,目前在MySQL高可用方面是一個相對成熟的解決方案 Perl 日本DeNA公司youshimaton(現就職於Facebook公司)開發並開源,於10年發佈 開源社區活躍,有相關維護人員 至少3節點,主DB1臺,從DB2-N臺,IP地址N+2 自動切換,從服務器:選舉具有最新更新的slave,嘗試從宕機的master中保存二進制日誌,應用差異的中繼日誌到其它的slave,應用從master保存的二進制日誌,提升選舉的slave爲master,配置其它的slave向新的master同步 MHA除了支持日誌點的複製還支持GTID的方式,同MMM相比,MHA會嘗試從舊的Master中恢復舊的二進制日誌,只是未必每次都能成功。如果希望更少的數據丟失場景,建議使用MHA架構。 MHA需要自行開發VIP轉移腳本,配置相對繁瑣,只監控Master的狀態,不監控Slave的狀態 作爲MySQL高可用性環境下故障切換和主從提升的高可用軟件。在MySQL故障切換過程中,MHA能做到在0~30秒之內自動完成數據庫的故障切換操作,並且在進行故障切換的過程中,MHA能在最大程度上保證數據的一致性,以達到真正意義上的高可用。目前業界最普遍的高可用方案 yum或下載安裝包手動安裝
MMM Multi-Master Replication Manager的簡稱,用於管理mysql主主架構的工具集 Perl Google03年前的開源項目 最新資料日期爲09年或12年,已停止維護 主DB2臺,從DB0-N臺,IP地址2N+1 手動切換,在slave上完成已傳輸的binlog,在master上關閉read_only,遷移VIP到slave 工具包相對比較完善,不需要額外的開發腳本 故障簡單粗暴,容易丟失事務。必須是基於日誌點的複製,不能支持gtid 讀寫都需要高可用,或基於日誌點的複製方式 不建議使用
MGR MySQL Group Replication的簡稱,MySQL 5.7版本開始支持無損半同步複製(lossless semi-sync replication),從而進一步提示數據複製的強一致性。實現了分佈式架構下的數據一致性,同時提供高可用,高擴展,高可靠,金融級分佈式方案。 MYSQL的插件,C或C++開發 MYSQL官方2016年12月12日在5.7.17版本發佈的新技術 開源社區活躍,有相關維護人員 最少3節點,最多9節點,基於paxos協議複製,不同於異步複製的多Master複製集羣。單主模式下,MGR集羣會選出primary節點負責寫請求,primary節點與其它節點都可以進行讀請求處理. 自動切換,切換時間實測大概在3s左右 基本無延遲,延遲比異步的小很多,支持多寫模式,但是目前還不是很成熟,數據的強一致性,可以保證數據事務不丟失 僅支持innodb,只能用在GTID模式下,且日誌格式爲row格式 對主從延遲比較敏感,希望對寫服務提供高可用,又不想安裝第三方軟件,數據強一致的場景 MYSQL-server5.7.20及以上版本自帶
MySQL InnoDB Cluster MySQL官方17年發佈的高可用架構方案——MySQL InnoDB Cluster 底層基於MGR的高可用架構方案
Mycat 國內從業者基於阿里內部項目Cobar二次開發的改良版,屬於數據庫中間件,後端支持Mysql、Oracle、Mongodb等多種數據庫 Java(Java1.7) 15年正式發佈成熟社區版 風評較差,資料不足,開源社區不太活躍 自動切換,檢測salve心跳,不通則切換 資料提示可能存在多點寫入風險 下載安裝包手動安裝
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章