高可用性h.a.(high **ailability)指的是通過盡量縮短因日常維護操作(計畫)和突發的系統崩潰(非計畫)所導致的停機時間,以提高系統和應用的可用性。ha系統是企業防止核心計算機系統因故障停機的最有效手段。
高可用性在日常的工作中接觸到的比較多,比如資料庫的高可用、儲存的高可用等等。
下面對實現高可用性的主主、主從、主備模式進行簡單的介紹。
一、主備、主從、主主
1、主備
1)簡介
主:主機,備:備機。
主機的意思當然是以它為主了,讀寫都是主機上,而備機呢就是備用,默默的在背後吸收主機的資料,時刻待命著等待主機掛了之後取而代之(沒這麼壞哈哈)。因此在主機還活著的情況下,備機的唯一使命就是同步主機的資料,不對外提供服務。
2)優點:簡單,主備之間只有資料同步,不需要考慮別的情況。
3)缺點:備機等於就拿來備份,備機一直處於備用狀態形成資源浪費。
4)主備切換方式:主要的實現方式為引入一些中介軟體比如 zookeeper、keepalived等等
2、主從
1)簡介
主:主機,從:從機
從機和備機的區別在於它得除了同步資料之外還得幹活,對外提供讀的操作,主機掛掉從機翻身做主。
2)優點:充分利用了資源,從機提供可讀操作。
3)缺點:
①客戶端需要多個判斷,也就是不同操作需要發放給不同伺服器,我上圖主機提供讀寫,有時候讀寫分離了,主機就提供寫。
②主從延遲,讀操作分配給從庫,就會存在資料同步的延遲問題,比如某個人註冊了賬號之後,登入走的是從機,這時候資料還未從主機同步過來,那可不讓人很難受了。有關主從延遲問題的一些解決辦法
3、主主
1)簡介
主主就是兩台都是主機,同時對外提供讀寫操作
2)優點:主主的好處就是可以把寫操作也分擔一下,但是問題恰恰就出在寫操作上,導致主主的架構有很大的侷限性。
3)缺點:例如主機a有個註冊的插入操作,生成的id是50,同一時刻主機b也有個插入操作生成的id也是50。資料重複、覆蓋情況
因此主主只適用於可以雙向複製,覆蓋的資料(例如使用者登入生成的token)。但是我們平日裡絕大部分的資料都不允許。
LVS Keepalived高可用主備集群搭建
通過lvs負載均衡,我們可以解決rs的單點故障問題,但是作為負載節點也存在單點故障的可能,這時我們通過keepalived主備高可用模型。軟體安裝 在192.168.71.100和192.168.71.103上安裝keepalived yum install keepalived配置keepaliv...
MySQL高可用(二)主備延時如何解決?
從上篇文章我們知道主備同步是依賴於 binlog,主庫負責生產 binlog,備庫負責消費 binlog,從而實現主備同步。今天我們來學習一下主備同步裡的乙個重點的問題 主備延時。主備延時,簡單來說,就是主庫和備庫的資料一致出現一定的時間差,比如備庫的此刻的資料快照是主備5分鐘前的資料快照,那就說明...
再聊負載均衡SLB的主備可用區和高可用部署最佳實踐
阿里雲負載均衡slb的主備可用區提供了多個層級的高可用,可閱讀 負載均衡slb高可用的四個層次 但很多使用者常常在下單選購時,對可用區的選擇感到困惑。到底如何選擇slb的主備可用區,如何搭配不同可用區的ecs,來構建高可靠應用系統呢?客官請聽下文分解。首先,我們要搞清楚乙個事實,負載均衡slb的可用...