溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

數據庫高可用架構的優缺點有哪些

發布時間:2021-10-20 09:19:41 來源:億速云 閱讀:186 作者:iii 欄目:web開發

本篇內容主要講解“數據庫高可用架構的優缺點有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“數據庫高可用架構的優缺點有哪些”吧!

主備架構

1. 基本架構拓撲圖如下

數據庫高可用架構的優缺點有哪些

整體架構簡單,幾乎所有的數據庫都提供了主備復制的功能,例如Mysql、Oracle、MongoDB等。在這種架構中備庫主要承擔數據備份的作用,不參與實際業務讀寫操作,如果把備機改成主機需要人工操作。

2. 優缺點分析

  • 對于客戶端來說,不需要感知備機的存在,即使災難恢復后,原來的備機被人工干預修改為主機,客戶端只需要簡單修改連接地址即可,應用架構不需要做任何改動;

  • 主機和備機只需要進行數據復制,不需要進行狀態判斷和主備切換這類復雜操作。

這種架構的缺點也比較明顯:

  • 備機主要是用于數據備份,如果應用架構沒有讀寫分離設計時會造成成本浪費

  • 故障后需要人工干預,無法自動恢復,而人工處理效率又比較低,恢復過程也容易出錯。

主從架構

主從架構與主備架構只有一字之差,但是對于實際應用架構差距卻很大。在主備架構中備庫不參與業務操作,而在主從架構中從庫是需要參與業務操作的,應用架構需要做讀寫分離,將寫操作寫入主庫,而讀操作從從庫讀。

1. 主從基本架構拓撲圖如下

數據庫高可用架構的優缺點有哪些

2.優缺點分析

相比于主備架構,它有如下優點:

  • 在主庫故障時,讀操作相關業務可以繼續運行

  • 從庫對外提供讀能力,發揮了硬件的性能

  • 可以為不同的角色提供不同的從庫

缺點:

  • 主從架構中從庫需要提供讀業務,如果主從復制延遲大,數據會出現不一致情況;

  • 應用架構需要做修改,一般會加入讀寫分離,復雜度比主備高;

  • 故障后需要人工干預,無法自動恢復,而人工處理效率又比較低,恢復過程也容易出錯。

主從切換

上面兩種架構都存在兩個共同問題:

  • 主庫故障后,無法進行寫操作

  • 主庫出了問題后需要人工干預才能將從庫切換到主庫,而人工切換又可能出現不及時或者切換故障的問題。

基于以上兩個問題我們需要一個能自動切換的架構,當主庫出了故障后能自動將從庫切換成主庫,無需運維人員干預。

要實現主從切換架構必須要考慮一個關鍵點:必須要有一個機制能監測到數據庫節點的運行狀態,以此來決定是否切換。

這種架構我們一般會引入一個第三方中介,數據庫節點定時向第三方中介匯報自己的狀態信息;或者第三方中介定時去數據庫節點拉取數據庫狀態;

數據庫高可用架構的優缺點有哪些

優點:

  • 解決了人工干預的問題,大大減少了故障時間,一定程度上保護了運維人員的人生安全 缺點:

  • 架構復雜,引入了第三方中介后又需要保證第三方中介的高可用。

這里推薦大家了解一下mysql的 MHA 架構,或者使用ZK、Keepalived自己搭建主從切換架構。

主主架構

主主架構又叫主主復制,兩臺數據庫都是主庫,互相將數據復制給對方,客戶端可以挑選任意一臺數據庫進行讀寫操作。

數據庫高可用架構的優缺點有哪些

相比于主從切換,主主架構有如下優點:

  • 兩臺數據庫都是主庫,不存在切換的概念

  • 客戶端無需區分不同角色的主機,隨便將讀寫操作發給哪臺數據庫。

  • 架構簡單

但是允許向兩臺主數據庫寫入是一件很危險的事:

  • AB兩臺數據庫采用自增長主鍵,A庫插入用戶后id是1,B庫插入用戶后id也是1,數據沖突

  •  

  • tb update tb set col = col +1 update tb set col = col * 2

到此,相信大家對“數據庫高可用架構的優缺點有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女