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

淘寶分布式文件系統(tǒng)TFS安裝配置手冊(cè):內(nèi)部實(shí)現(xiàn)

運(yùn)維 系統(tǒng)運(yùn)維 分布式
TFS與目前一些主流的開源分布式文件系統(tǒng)設(shè)計(jì)思想是相似的,如HDFS, MFS, KFS, Sector。TFS的高可擴(kuò)展、高可用性是很好的,本文帶你了解淘寶分布式文件系統(tǒng)TFS的內(nèi)部實(shí)現(xiàn)過程,一起來看看。

TFS文件名的結(jié)構(gòu)

TFS的文件名由塊號(hào)和文件號(hào)通過某種對(duì)應(yīng)關(guān)系組成,***長度為18字節(jié)。文件名固定以T開始,第二字節(jié)為該集群的編號(hào)(可以在配置項(xiàng)中指定,取值范圍 1~9)。余下的字節(jié)由Block ID和File ID通過一定的編碼方式得到。文件名由客戶端程序進(jìn)行編碼和解碼,它映射方式如下圖:

TFS客戶程序在讀文件的時(shí)候通過將文件名轉(zhuǎn)換為BlockID和FileID信息,然后可以在!NameServer取得該塊所在!DataServer信息(如果客戶端有該Block與!DataServere的緩存,則直接從緩存中?。缓笈c!DataServer進(jìn)行讀取操作。

TFS寫操作數(shù)據(jù)流

TFS系統(tǒng)中,nameserver會(huì)保證一個(gè)文件有多個(gè)副本存儲(chǔ)于不同的dataserver上以保證冗余。當(dāng)由于dataserver服務(wù)器宕機(jī)或由于其他原因退出系統(tǒng)導(dǎo)致某些文件副本數(shù)量下降時(shí),nameserver將會(huì)調(diào)度新的dataserver節(jié)點(diǎn)存儲(chǔ)文件備份。同樣為了保證數(shù)據(jù)一致性,當(dāng)寫入一個(gè)文件時(shí),只有所有參與的dataserver均寫入成功時(shí),該操作才算成功。TFS的寫操作數(shù)據(jù)流圖如下所示:

客戶端首先向nameserver發(fā)起寫請(qǐng)求,nameserver需要根據(jù)dataserver上的可寫塊,容量和負(fù)載加權(quán)平均來選擇一個(gè)可寫的block。并且在該block所在的多個(gè)dataserver中選擇一個(gè)作為寫入的master,這個(gè)選擇過程也需要根據(jù)dataserver的負(fù)載以及當(dāng)前作為master的次數(shù)來計(jì)算,使得每個(gè)dataserver作為master的機(jī)會(huì)均等。master一段選定,除非master宕機(jī),不會(huì)更換,一旦master宕機(jī),需要在剩余的dataserver中選擇新的master。返回一個(gè)dataserver列表。 客戶端向master dataserver開始數(shù)據(jù)寫入操作。master server將數(shù)據(jù)傳輸為其他的dataserver節(jié)點(diǎn),只有當(dāng)所有dataserver節(jié)點(diǎn)寫入均成功時(shí),master server才會(huì)向nameserver和客戶端返回操作成功的信息。

獲得Block ID和File ID

根據(jù)TFS文件名解析出Block ID和block中的File ID。

獲取dataserver地址

向nameserver發(fā)送查詢請(qǐng)求得到Block ID所在的dataserver地址。

由于nameserver中維護(hù)了block和dataserver的對(duì)應(yīng)關(guān)系,所以nameserver能夠提供相應(yīng)的信息。

Note: 由于TFS是把大量小文件放在一個(gè)block里面,

所以TFS的文件復(fù)制是基于block的,而且復(fù)制出來的block的block id應(yīng)該是一致的

請(qǐng)求文件

通過發(fā)送Block_ID、File_ID和offset為參數(shù)的讀請(qǐng)求到對(duì)應(yīng)的dataserver,得到文件內(nèi)容。

dataserver會(huì)根據(jù)本地記錄的信息來得到File ID所在block的偏移量,從而讀取到正確的文件內(nèi)容.

TFS 在2.0版本增加了一個(gè)server, 叫做 rcserver. 這個(gè) server 主要是為了淘寶內(nèi)部管理使用 TFS 的各個(gè)應(yīng)用. 我們給每個(gè)應(yīng)用分配一個(gè)唯一的 AppKey. TFS 客戶端使用這個(gè) AppKey 登錄到 rcserver, 取得自己應(yīng)該訪問的 TFS 集群信息. 客戶端還會(huì)定期把自己的一些統(tǒng)計(jì)值發(fā)送給 rcserver. 具體信息可以參看源碼中 doc 目錄下的關(guān)于 rcserve 的文檔。

責(zé)任編輯:黃丹 來源: sina博客
相關(guān)推薦

2014-01-10 10:39:35

分布式文件系統(tǒng)TFS

2014-01-15 13:56:28

分布式文件系統(tǒng)TFS淘寶

2014-01-14 15:56:54

分布式文件系統(tǒng)TFS淘寶

2014-01-15 14:00:33

分布式文件系統(tǒng)TFS淘寶

2012-10-11 14:03:56

FastDFS分布式文件系統(tǒng)

2010-11-01 05:50:46

分布式文件系統(tǒng)

2014-06-24 15:24:52

Moosefs分布式集群

2014-01-16 09:42:19

TFS分布式文件系統(tǒng)

2017-10-17 08:33:31

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

2010-06-04 18:45:43

Hadoop分布式文件

2012-09-19 13:43:13

OpenAFS分布式文件系統(tǒng)

2012-09-19 15:05:24

MogileFS分布式文件系統(tǒng)

2010-11-15 13:24:07

分布式文件系統(tǒng)

2013-01-07 10:29:31

大數(shù)據(jù)

2012-08-31 16:04:11

HDFS分布式文件系統(tǒng)

2013-06-18 14:00:59

HDFS分布式文件系統(tǒng)

2013-05-27 14:46:06

文件系統(tǒng)分布式文件系統(tǒng)

2012-07-20 14:40:22

2022-09-13 07:51:08

JuiceFS分布式文件系統(tǒng)

2011-07-15 17:48:27

Platform
點(diǎn)贊
收藏

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