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

我們?nèi)绾卧O(shè)計(jì)高可用架構(gòu)

開發(fā) 架構(gòu)
核心思想:遵循“冗余法則”,通過(guò)集群化實(shí)現(xiàn)高可用,避免單點(diǎn)故障。a.單機(jī)高可用不存在:?jiǎn)螜C(jī)無(wú)法冗余,高可用必須依賴集群。b.復(fù)雜度本質(zhì):冗余帶來(lái)的復(fù)雜性,包括狀態(tài)同步、故障切換、數(shù)據(jù)一致性等。

1. 高可用復(fù)雜度模型

  • 核心思想:遵循“冗余法則”,通過(guò)集群化實(shí)現(xiàn)高可用,避免單點(diǎn)故障。

a.單機(jī)高可用不存在:?jiǎn)螜C(jī)無(wú)法冗余,高可用必須依賴集群。

b.復(fù)雜度本質(zhì):冗余帶來(lái)的復(fù)雜性,包括狀態(tài)同步、故障切換、數(shù)據(jù)一致性等。

2. 計(jì)算高可用

2.1 任務(wù)分配
  • 核心設(shè)計(jì):通過(guò)任務(wù)分配器(獨(dú)立服務(wù)器或SDK)將任務(wù)分發(fā)到多個(gè)服務(wù)器。
  • 復(fù)雜度分析

a.任務(wù)分配器需管理服務(wù)器列表(配置文件或ZooKeeper)。

b.需動(dòng)態(tài)監(jiān)控服務(wù)器狀態(tài),故障時(shí)快速切換。

c.算法選擇(輪詢、哈希、權(quán)重等)影響負(fù)載均衡。

  • 關(guān)鍵點(diǎn):高性能架構(gòu)關(guān)注正常處理,高可用架構(gòu)關(guān)注異常容錯(cuò)。
2.2 任務(wù)分解
  • 核心設(shè)計(jì):按業(yè)務(wù)邏輯拆分服務(wù)器角色(如接入層、邏輯層、存儲(chǔ)層)。
  • 復(fù)雜度分析

a.任務(wù)分解器需記錄任務(wù)與服務(wù)器的映射關(guān)系。

b.局部故障隔離,避免業(yè)務(wù)互相影響。

  • 案例:微信服務(wù)拆分(獨(dú)立接入服務(wù)器+業(yè)務(wù)集群)。

3. 存儲(chǔ)高可用

3.1 數(shù)據(jù)復(fù)制格式
  • 命令復(fù)制(如Redis AOF):

a.優(yōu)點(diǎn):數(shù)據(jù)量小,實(shí)現(xiàn)簡(jiǎn)單。

b.缺點(diǎn):可能不一致(依賴SQL函數(shù))。

c.場(chǎng)景:增量復(fù)制。

  • 文件復(fù)制(如MySQL Row格式):
  • 優(yōu)點(diǎn):數(shù)據(jù)一致性強(qiáng)。
  • 缺點(diǎn):流量大。
  • 場(chǎng)景:全量復(fù)制。
  • 混合復(fù)制(如Redis RDB+AOF):
  • 折衷方案,平衡一致性與性能。
3.2 數(shù)據(jù)復(fù)制方式
  • 同步復(fù)制

a.強(qiáng)一致性,但寫入性能低(需所有節(jié)點(diǎn)確認(rèn))。

b.場(chǎng)景:主備架構(gòu)。

  • 異步復(fù)制

     a. 高性能,容忍節(jié)點(diǎn)故障,但可能數(shù)據(jù)丟失。

     b.場(chǎng)景:數(shù)據(jù)存儲(chǔ)集群。

  • 半同步復(fù)制(如MySQL半同步):

     a. 折衷方案,部分節(jié)點(diǎn)確認(rèn)即可。

  • 多數(shù)復(fù)制(如ZooKeeper):

     a.強(qiáng)一致性+高可用性,但實(shí)現(xiàn)復(fù)雜。

     b.場(chǎng)景:分布式一致性系統(tǒng)(OceanBase)。

3.3 狀態(tài)決策模式
  • 獨(dú)裁式(如Redis Sentinel):

a.決策者單點(diǎn)需高可用(依賴ZooKeeper/Raft)。

b.一致性中等,適用于通用業(yè)務(wù)。

  • 協(xié)商式(如心跳檢測(cè)):

a.簡(jiǎn)單但易雙主(需雙通道緩解)。

b.一致性弱,適合內(nèi)部系統(tǒng)。

  • 民主式(如Raft/ZAB算法):

a.高一致性+高可用,但可能腦裂(需Quorum控制)。

b.場(chǎng)景:余額、庫(kù)存等高一致性需求。

4. 案例與模式

  • Redis:命令復(fù)制(AOF)+文件復(fù)制(RDB),異步+半同步。
  • MySQL:命令復(fù)制(Statement)+數(shù)據(jù)復(fù)制(Row),異步+半同步。
  • Hadoop/ZooKeeper:獨(dú)裁式?jīng)Q策(依賴ZooKeeper集群)。
  • MongoDB:民主式選舉(Raft算法)。

5. 核心結(jié)論

  • 高可用本質(zhì):通過(guò)冗余應(yīng)對(duì)故障,集群是必然選擇。
  • 設(shè)計(jì)核心:狀態(tài)決策機(jī)制(獨(dú)裁/協(xié)商/民主)決定架構(gòu)復(fù)雜度。
  • 數(shù)據(jù)復(fù)制權(quán)衡:一致性、性能、故障容忍度需平衡。
  • 與高性能對(duì)比:高可用更復(fù)雜(需冗余管理、狀態(tài)決策、異常處理)。

圖片圖片


責(zé)任編輯:武曉燕 來(lái)源: 二進(jìn)制跳動(dòng)
相關(guān)推薦

2017-09-13 13:42:09

微服務(wù)緩存架構(gòu)

2019-02-12 09:34:00

微博短視頻架構(gòu)

2017-09-25 12:11:14

高可用微服務(wù)架構(gòu)

2021-03-09 20:52:01

架構(gòu)無(wú)狀態(tài)服務(wù)

2024-04-09 07:53:04

高可用架構(gòu)擴(kuò)展性

2019-05-22 09:31:01

MySQL架構(gòu)高可用

2022-05-17 11:06:44

數(shù)據(jù)庫(kù)MySQL系統(tǒng)

2018-07-11 09:34:55

分布式架構(gòu)高可用

2023-02-27 08:37:52

2020-12-09 09:21:41

微服務(wù)架構(gòu)數(shù)據(jù)

2023-12-20 09:26:20

高可用高吞吐高擴(kuò)展性

2018-01-12 14:20:37

數(shù)據(jù)庫(kù)MySQL高可用架構(gòu)

2019-08-27 15:56:44

MySQL 互聯(lián)網(wǎng)數(shù)據(jù)庫(kù)

2024-03-08 09:46:53

2022-09-21 16:09:28

消息中間件

2021-05-24 09:28:41

軟件開發(fā) 技術(shù)

2023-02-06 09:32:17

服務(wù)接口高可用

2020-04-22 14:25:48

云開發(fā)高可用架構(gòu)

2022-09-03 18:00:05

消息中間件MQ

2024-01-10 07:23:52

高可用策略實(shí)踐
點(diǎn)贊
收藏

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