偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

存儲(chǔ)系統(tǒng)講解——分布式存儲(chǔ)系統(tǒng)問題考慮

存儲(chǔ) 存儲(chǔ)軟件 分布式
分布式系統(tǒng)主要分成存儲(chǔ)模型和計(jì)算模型兩類。本文主要描述的是存儲(chǔ)模型的介紹。其中計(jì)算模型的分布式系統(tǒng)原理跟存儲(chǔ)模型類似,只是會(huì)根據(jù)自身計(jì)算特點(diǎn)加一些特殊調(diào)度邏輯進(jìn)去。

分布式系統(tǒng)主要分成存儲(chǔ)模型和計(jì)算模型兩類。本文主要描述的是存儲(chǔ)模型的介紹。其中計(jì)算模型的分布式系統(tǒng)原理跟存儲(chǔ)模型類似,只是會(huì)根據(jù)自身計(jì)算特點(diǎn)加一些特殊調(diào)度邏輯進(jìn)去。

任何一個(gè)分布式系統(tǒng)都需要考慮如下5個(gè)問題:

1.數(shù)據(jù)如何分布

就像把雞蛋放進(jìn)籃子里面。一般來說籃子大小是一樣的,當(dāng)然也有的系統(tǒng)支持不一樣大小的籃子。雞蛋大小也不一樣,有很多系統(tǒng)就把雞蛋給"切割"成一樣大小然后再放。并且有的雞蛋表示對(duì)籃子有要求,比如對(duì)機(jī)房/機(jī)架位的要求。

衡量一個(gè)數(shù)據(jù)分布算法好不好就看他是否分得足夠均勻,使得所有機(jī)器的負(fù)載方差足夠小。

[[245103]]

2.如何容災(zāi)

分布式系統(tǒng)一個(gè)很重要的定位就是要讓程序自動(dòng)來管機(jī)器,盡量減少人工參與,否則一個(gè)分布式系統(tǒng)的運(yùn)維成本將不可接受。

容災(zāi)問題非常復(fù)雜,有很多很成熟的系統(tǒng)也不敢保證自己做得特別好,那么來看看一個(gè)典型的系統(tǒng)都有可能出哪些問題吧:

(1)機(jī)器宕機(jī)

這是最常見的故障了。系統(tǒng)中最容易出問題的硬盤的年故障率可能能達(dá)到10%。這樣算下來,一個(gè)有1000臺(tái)機(jī)器的集群,每一個(gè)星期就會(huì)有2臺(tái)機(jī)器宕機(jī)。所以在機(jī)器數(shù)量大了之后,這是一個(gè)很正常的事情。

一般一臺(tái)機(jī)器出故障之后修復(fù)周期是24小時(shí),這個(gè)過程是人工接入換設(shè)備或者重啟機(jī)器。在機(jī)器恢復(fù)之后內(nèi)存信息完全丟失,硬盤信息可能可以保存。

一個(gè)分布式系統(tǒng)必須保證一臺(tái)機(jī)器的宕機(jī)對(duì)服務(wù)不受影響,并且在修復(fù)好了之后再重新放到集群當(dāng)中之后也能正常工作。

(2)網(wǎng)絡(luò)故障

這是最常見且要命的故障。就是該問題會(huì)大大增加分布式系統(tǒng)設(shè)計(jì)的難度。故障一般發(fā)生在網(wǎng)絡(luò)擁塞,路由變動(dòng),設(shè)備異常等情況。出現(xiàn)的問題可能是丟包,可能是延時(shí),也可能是完全失去連接。

有鑒于此,我們一般在設(shè)計(jì)分布式系統(tǒng)的時(shí)候,四層協(xié)議都采用TCP,很少采用UDP/UDT協(xié)議。而且由于TCP協(xié)議并不能完全保證數(shù)據(jù)傳輸?shù)綄?duì)面,比如我們再發(fā)送數(shù)據(jù),只要數(shù)據(jù)寫入本地緩沖區(qū),操作系統(tǒng)就會(huì)返回應(yīng)用層說發(fā)送成功,但是有可能根本沒送到對(duì)面。所以我們一般還需要加上應(yīng)用層的ACK,來保證網(wǎng)絡(luò)層的行為是可預(yù)期的。

但是,即使加上應(yīng)用層的ACK,當(dāng)發(fā)送請求之后遲遲沒收到ACK。這個(gè)時(shí)候作為發(fā)送方也并不知道到底對(duì)方是直接掛了沒收到請求,還是收到請求之后才掛的。這個(gè)尤其是對(duì)于一些控制命令請求的發(fā)送尤為致命。

一般系統(tǒng)有兩種方案:

  1. 發(fā)送查詢命令來判斷到底是哪種情況
  2. 將協(xié)議設(shè)計(jì)成"冪等性"(即可重復(fù)發(fā)送數(shù)據(jù)并不影響最終數(shù)據(jù)), 然后不停重試

(3)其他異常

比如磁盤壞塊,但是機(jī)器并沒有宕機(jī);機(jī)器還活著,就是各種操作特別慢;由于網(wǎng)絡(luò)擁塞導(dǎo)致一會(huì)網(wǎng)絡(luò)斷掉,不發(fā)送數(shù)據(jù)之后又好了,一旦探活之后重新使用又掛了等惡心的情況;

這些異常都需要根據(jù)實(shí)際情況來分析,在長期工程實(shí)踐中去調(diào)整解決。

并且令人非常沮喪的事實(shí)是:你在設(shè)計(jì)階段考慮的異常一定會(huì)在實(shí)際運(yùn)行情況中遇到,你沒考慮到的異常也會(huì)在實(shí)際運(yùn)行中遇到。所以分布式系統(tǒng)設(shè)計(jì)的一個(gè)原則是:不放過任何一個(gè)你看得到的異常。

3.讀寫過程一致性如何保證

一致性的概率很簡單,就是我更新/刪除請求返回之后,別人是否能讀到我新寫的這個(gè)值。對(duì)于單機(jī)系統(tǒng),這個(gè)一致性要達(dá)到很簡單,大不了是損失一點(diǎn)寫的效率。但是對(duì)于分布式系統(tǒng),這個(gè)就復(fù)雜了。為了容災(zāi),一份數(shù)據(jù)肯定有多個(gè)副本,那么如何更新這多個(gè)副本以及控制讀寫協(xié)議就成了一個(gè)大問題。

而且有的寫操作可能會(huì)跨越多個(gè)分片,這就更復(fù)雜了。再加上剛才提到的網(wǎng)絡(luò)故障,可能在同步數(shù)據(jù)的時(shí)候還會(huì)出現(xiàn)各種網(wǎng)絡(luò)故障,想想就頭疼。

而且即使達(dá)到了一致性,有可能讀寫性能也會(huì)受到很大損失。我們設(shè)計(jì)系統(tǒng)的時(shí)候就像一個(gè)滑動(dòng)條,左邊是一致性,右邊是性能,兩者無法同時(shí)滿足(CAP原理)。一般的系統(tǒng)會(huì)取折衷,設(shè)計(jì)得比較好的系統(tǒng)能夠讓用戶通過配置來控制這個(gè)滑動(dòng)條的位置,滿足不同類型的需求。

一致性一般怎么折衷呢?我們來看看如下幾種一致性的定義。注意除了強(qiáng)一致性以外,其他幾種一致性并不沖突,一個(gè)系統(tǒng)可以同時(shí)滿足一種或者幾種一致性特點(diǎn)。

強(qiáng)一致性

不用多說,就是最嚴(yán)格的一致性要求。任何時(shí)候任何用戶只要寫了,寫請求返回的一霎那,所有其他用戶都能讀到新的值了。

最終一致性

這個(gè)也是提得很多的一個(gè)概念,很多系統(tǒng)默認(rèn)提供這種方式的一致性。即最終系統(tǒng)將將達(dá)到"強(qiáng)一致性"的狀態(tài),但在之前會(huì)有一段不確定的時(shí)間,系統(tǒng)處于不一致的狀態(tài)。

會(huì)話一致性

這個(gè)也很容易理解,能滿足很多場景下的需求。在同一個(gè)會(huì)話當(dāng)中,用戶感受到的是"強(qiáng)一致性"的服務(wù)。

單調(diào)一致性

這個(gè)比會(huì)話一致性還要弱一點(diǎn)。他之保證一個(gè)用戶在讀到某個(gè)數(shù)據(jù)之后,絕對(duì)不會(huì)讀到比上一次讀到的值更老的數(shù)據(jù)。

4.如何提高性能

分布式系統(tǒng)設(shè)計(jì)之初就是為了通過堆積機(jī)器來增加系統(tǒng)整體性能,所以系統(tǒng)性能也非常重要。性能部分一般會(huì)受一致性/容災(zāi)等設(shè)計(jì)的影響,會(huì)有一定的折衷。

衡量一個(gè)分布式系統(tǒng)的性能指標(biāo)往往有:

  • ***容量
  • 讀qps
  • 寫qps

5.如何保證橫向擴(kuò)展

橫向擴(kuò)展是指一個(gè)集群的服務(wù)能力是否可以通過加機(jī)器做到線性擴(kuò)展。

責(zé)任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2017-04-14 09:48:25

分布式存儲(chǔ)系統(tǒng)

2017-10-16 10:24:47

LogDevice存儲(chǔ)系統(tǒng)

2017-07-18 09:51:36

文件存儲(chǔ)系統(tǒng)

2017-10-12 09:36:54

分布式存儲(chǔ)系統(tǒng)

2017-10-19 08:45:15

存儲(chǔ)系統(tǒng)HBase

2018-11-20 09:19:58

存儲(chǔ)系統(tǒng)雪崩效應(yīng)

2017-12-18 10:47:04

分布式存儲(chǔ)數(shù)據(jù)

2017-10-17 08:33:31

存儲(chǔ)系統(tǒng)分布式

2019-07-05 15:01:32

區(qū)塊鏈系統(tǒng)分布式存儲(chǔ)

2019-10-15 10:59:43

分布式存儲(chǔ)系統(tǒng)

2019-05-13 15:20:42

存儲(chǔ)系統(tǒng)算法

2018-05-10 09:34:21

spark存儲(chǔ)系統(tǒng)

2021-07-04 07:07:06

Ceph分布式存儲(chǔ)架構(gòu)

2018-10-29 12:42:23

Ceph分布式存儲(chǔ)

2014-02-19 11:37:57

分布式對(duì)象存儲(chǔ)Sheepdog

2013-12-27 10:56:42

分布式對(duì)象存儲(chǔ)Sheepdog性能測試

2010-07-02 10:08:12

BigtableGoogle

2021-08-07 05:00:20

存儲(chǔ)系統(tǒng)

2018-03-13 08:45:08

存儲(chǔ)系統(tǒng)DHT算法

2025-01-26 11:54:39

分布式存儲(chǔ)系統(tǒng)
點(diǎn)贊
收藏

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