<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      代碼改變世界

      分布式文件系統(tǒng)應(yīng)用(上篇 理論)

      2011-07-10 13:17  熬夜的蟲子  閱讀(738)  評論(0)    收藏  舉報

      自從6月份出山以來 就一直琢磨著搞一套通用的服務(wù)化平臺。在設(shè)計用戶行為分析以及用戶推廣的時候,發(fā)現(xiàn)自己的構(gòu)架里對海量文件的存儲沒有一個合理的方案。起初打算用windows2003中dfs系統(tǒng)開發(fā)一套新的文件系統(tǒng),后來發(fā)現(xiàn)win下的dfs是個大坑,未遂。然后考慮到win平臺與linux系統(tǒng)之間關(guān)于文件處理的優(yōu)劣與穩(wěn)定性,最終選擇linux下fastdfs。

      下面先簡單介紹下分布式文件系統(tǒng)然后結(jié)合我的實際case給大家圖文演示,在這之前先感謝下fishman、咕咚、以及菲雪同學的大力支持。你們是最棒的!!

      Tracker Server:跟蹤服務(wù)器,主要做調(diào)度工作,在訪問上起負載均衡的作用。在內(nèi)存中記錄集群中g(shù)roup和storage server的狀態(tài)信息,是連接Client和Storage server的樞紐。

      Storage Server:存儲服務(wù)器,文件和文件屬性(meta data)都保存到存儲服務(wù)器上

      架構(gòu)解讀:

      只有兩個角色,tracker server和storage server,不需要存儲文件索引信息

      所有服務(wù)器都是對等的,不存在Master-Slave關(guān)系

      存儲服務(wù)器采用分組方式,同組內(nèi)存儲服務(wù)器上的文件完全相同(RAID 1)

      不同組的storage server之間不會相互通信

      由storage server主動向tracker server報告狀態(tài)信息,tracker server之間通常不會相互通信


      上傳文件流程圖:

      1.client詢問tracker上傳到的storage;

      2.tracker返回一臺可用的storage;

      3.client直接和storage通信完成文件上傳,storage返回文件ID

      下載文件流程圖:

      1. client詢問tracker可以下載指定文件的storage,參數(shù)為文件ID(組名和文件名);
      2. tracker返回一臺可用的storage;
      3. client直接和storage通信完成文件下載。

      同步機制:

      采用binlog文件記錄文件上傳、刪除等操作,根據(jù)binlog進行文件同步
      binlog中只記錄文件名,不記錄文件內(nèi)容
      記錄已同步的位置到.mark文件中
      同組內(nèi)的storage server之間是對等的,文件上傳、刪除等操作可以在任意一臺storage server上進行
      文件同步只在同組內(nèi)的storage server之間進行,采用push方式,即源頭服務(wù)器同步給目標服務(wù)器

       

      同步延遲問題:

      storage生成的文件名中,包含源頭storage IP地址和文件創(chuàng)建時間戳
      源頭storage定時向tracker報告同步情況,包括向目標服務(wù)器同步到的文件時間戳
      tracker收到storage的同步報告后,找出該組內(nèi)每臺storage被同步到的時間戳(取最小值),作為storage屬性保存到內(nèi)存中

       

      通信協(xié)議:

      二進制通信協(xié)議
      協(xié)議包由兩部分組成:header和body
       header共10字節(jié),格式如下:
        8 bytes body length
        1 byte command
        1 byte status
       body數(shù)據(jù)包格式由取決于具體的命令,  body可以為空

      IO模型:

       




       

      主站蜘蛛池模板: 国内精品久久久久影院薰衣草| 国产精品一区二区三区激情| 国产中文字幕日韩精品| 成人午夜视频一区二区无码| 国产一区二区三区禁18| 婷婷综合亚洲| 国产欧美日韩高清在线不卡| 北条麻妃一区二区三区av高清| 99re6这里有精品热视频| 国产乱码精品一区二三区| 色偷偷av一区二区三区| 大连市| 一区二区三区日本久久九| 免费av深夜在线观看| 乱60一70归性欧老妇| 国产精品亚洲аv无码播放| 亚洲精品成人久久av| 久久99国内精品自在现线| 白朗县| 国精偷拍一区二区三区| 蜜桃无码一区二区三区| 国产高潮国产高潮久久久| 久热这里只有精品视频六| 一亚洲一区二区中文字幕| 一亚洲一区二区中文字幕| 美女爽到高潮嗷嗷嗷叫免费网站| 大屁股国产白浆一二区| 国产网曝门亚洲综合在线 | 一区二区三区激情免费视频| 制服丝袜美腿一区二区| 国产无套精品一区二区三区| 国产午夜福利不卡在线观看| 国产一级区二级区三级区| 人妻少妇久久中文字幕| 日韩中文字幕v亚洲中文字幕| 国产成人精品久久一区二| 亚洲AV日韩AV高清在线观看| 精品亚洲国产成人av| 和艳妇在厨房好爽在线观看| 最近中文字幕日韩有码| 亚洲人ⅴsaⅴ国产精品|