首頁>Club>
兩個資料庫伺服器(分別為A、B)實現了主主複製,用keepalived搭建了高可用,給A資料庫伺服器設定了兩臺slave資料庫伺服器同步備份,設定了跟A的主從複製,如果A宕機了,B就會成為Master伺服器,這情況下資料就不能備份同步了怎麼辦?
12
回覆列表
  • 1 # 此生唯一

    通常來說資料庫都儲存著一個公司的核心資料,單機資料庫往往會存在宕機,網路延時等問題,不僅是資料安全存在隱患,效能問題也是十分值得關注的!

    採用資料庫的分散式方案可以在充分保證資料容災,效能提升等方面有著舉足輕重的作用,一般來說資料庫的分散式方案有以下幾種:

    ①,主從複製,讀寫分離:使用一主多從可以保證資料不丟失,而使用讀寫分離的原因是因為讀寫比例通常有二八分的選擇,所以使用多個從庫來做讀取是很好的方案!

    主從複製的開啟很簡單,在mysql中的配置中心開啟log-bin進行復制,使用server-id配置主從即可!

    讀寫分離可以使用spring aop配置動態資料來源來實現!

    ②,雙主互備:

    1,兩臺機器互為主從,實現雙邊同步資料,可以在程式碼中或者別的元件實現負載均衡!

    2,一主一備:當前主機掛掉的時候,備機可以迅速上位,提供服務!

    雙主互備模式在掛掉一臺機器的時候,另一臺可以持續使用,資料同步中斷!

    水平拆分:按照月份,hash等方式,實現資料分散到不同庫(表)中!

    垂直拆分:將一張表中的欄位按照一定的原則拆分到不同庫(表)中!

    總的來說,如果寫資料過大,建議使用分庫分表,將寫壓力分散到不同庫中,如果讀多寫少,則讀寫分離也就夠了!

    上面的幾種方式,是筆者這幾年在不同公司遇到的,程式碼層實現的讀寫分離,雙寫負載均衡等,如果有需要的朋友,可以一起交流!

  • 中秋節和大豐收的關聯?
  • DNF玩家花5000元打造角色,漩渦打團被拒,打造一個漩渦C,要多少錢?