mysql主主同步優缺點?
在主主模式下,兩個主庫都提供讀寫服務,如果應用通過兩個主庫操作相同數據,則會發生沖突導致數據覆蓋(使用語句模式復制)或復制異常(使用行模式復制),因此需要對讀寫服務進行控制:
1、基于自主主鍵控制,通過設置自增屬性auto_increment_offset和auto_increment_increment來控制每個主節點生產不同的自增值,并根據不同自增值訪問不同主節點。
2、基于庫級別或表級別控制,如應用APP1訪問節點node1上的DB1庫,而應用APP2訪問節點node2上的DB2庫,兩個主節點間不會操作相同表的數據,因此不會存在事務沖突。
為保證應用程序使用相同數據庫連接配置而不受故障切換影響,常用方案有:
1、VIP,通過vrrpd或keepalived將VIP動態綁定到新主節點
2、域名,通過切換域名將域名指向新主節點
3、代理,通過更新代理中存放的路由信息來指向新主節點。