自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

高可用架構(gòu):fail-over 的三種經(jīng)典模式

開發(fā) 架構(gòu)
冗余很好理解,復(fù)制服務(wù),復(fù)制數(shù)據(jù)。那故障轉(zhuǎn)移有幾種模式?故障轉(zhuǎn)移(fail-over)主要有三種模式。

前面的文章聊過,高可用的核心方法論是:冗余(replication) + 故障自動轉(zhuǎn)移(fail-over)。

冗余很好理解,復(fù)制服務(wù),復(fù)制數(shù)據(jù)。那故障轉(zhuǎn)移有幾種模式?

故障轉(zhuǎn)移(fail-over)主要有三種模式。

其一:Active-Passive影子主模式。

在這種模式下,只有一個主節(jié)點(Active)在處理請求,另一個影子節(jié)點(Passive)則處于待命狀態(tài),準(zhǔn)備在主節(jié)點故障時接管。

它的特點是,影子節(jié)點在主節(jié)點正常工作時并不參與工作,只有主節(jié)點發(fā)生故障時,影子節(jié)點才接管并參與負(fù)載。系統(tǒng)資源利用率最多只有50%。

無狀態(tài)的服務(wù),例如Nginx可以使用影子主模式保證高可用。

其二:Active-Active多活模式。

在這種模式下,所有節(jié)點均處于“活動”狀態(tài),平均處理負(fù)載,其優(yōu)勢是:

  • 保證了高可用;
  • 提升了吞吐量;
  • 實施了負(fù)載均衡;
  • 提高了資源利用效率;

但是,這類模式需要注意雪崩效應(yīng),少量節(jié)點掛掉的情況下,剩余節(jié)點能不能扛得住。

無狀態(tài)的服務(wù)例如站點服務(wù),微服務(wù),可以采用這種高可用模式。

對于包含狀態(tài)的服務(wù),例如數(shù)據(jù)庫,如果使用多活高可用。需要額外的機(jī)制來同步數(shù)據(jù),并解決同步數(shù)據(jù)的過程中帶來的數(shù)據(jù)沖突問題。對于大數(shù)據(jù)量高并發(fā)量的互聯(lián)網(wǎng)業(yè)務(wù)最佳實踐,一般不采用這種模式實施數(shù)據(jù)庫的高可用,數(shù)據(jù)沖突問題根本搞不定。

那包含狀態(tài)的服務(wù),例如數(shù)據(jù)庫,要怎么保證高可用?

其三:Hot-Standby熱備模式。

熱備份可以理解為影子模式的一種特例。

他的影子節(jié)點在平時也會工作,怎么工作呢?

影子節(jié)點只和主節(jié)點保持?jǐn)?shù)據(jù)同步,但并不對外提供服務(wù)。

畫外音:這里主要指寫入服務(wù),讀服務(wù)不會變更數(shù)據(jù)狀態(tài),且不討論。

這樣,影子節(jié)點保持有最新的數(shù)據(jù)副本,在主節(jié)點掛掉后可以迅速接管,減少切換時間。并且影子節(jié)點在平時不對外提供服務(wù),也不會有數(shù)據(jù)沖突。

在數(shù)據(jù)庫這類存儲狀態(tài),且需要快速恢復(fù)的場景,一般使用熱備模式。

但需要注意的是,當(dāng)主掛掉時,需要折衷一致性與可用性:

  • 如果數(shù)據(jù)同步完成之前啟動影子節(jié)點,數(shù)據(jù)可能會丟失,從而喪失最終一致;
  • 但如果等數(shù)據(jù)同步完成再啟動影子節(jié)點,可能會等待一段時間,從而喪失可用性;

簡單總結(jié),fail-over三種常見模式:

  • Active-Passive影子主模式,例如:NG;
  • Active-Active多活模式,例如:web-server,service;
  • Hot-Standby熱備模式,例如:DB;

知其然,知其所以然。

思路比結(jié)論更重要。

責(zé)任編輯:趙寧寧 來源: 架構(gòu)師之路
相關(guān)推薦

2022-07-22 20:00:01

高可用路由

2018-07-10 08:42:45

Oracle高可用集群

2015-01-05 14:51:45

彈性存He云存儲架構(gòu)UnitedStack

2015-09-14 09:31:44

結(jié)對設(shè)計

2022-05-27 11:33:02

前端代碼設(shè)計模式

2009-11-06 13:23:27

WCF模式

2016-09-13 14:05:24

Spark集群管理模式

2010-06-28 17:43:44

SQL Server

2010-09-09 10:08:59

2022-11-03 08:44:24

代理模式Java設(shè)計模式

2022-09-26 08:03:25

VMware虛擬機(jī)

2022-06-16 08:24:59

設(shè)計模式代碼前端

2017-11-27 09:14:29

2009-12-21 13:37:43

WCF消息交換

2010-07-13 15:55:12

FTP數(shù)據(jù)傳輸模式

2011-01-18 15:35:59

jQueryJavaScriptweb

2024-04-01 13:02:00

發(fā)布策略API

2015-06-25 10:23:55

蘋果谷歌

2025-04-27 08:40:00

架構(gòu)后臺任務(wù)開發(fā)

2019-09-02 14:44:15

云計算云安全云取證
點贊
收藏

51CTO技術(shù)棧公眾號