Atitit 分布式文件系統(tǒng)總結(jié)方案
Atitit 分布式文件系統(tǒng)總結(jié)?fastdfs?nfs smb webdav ftp
?
目錄
1.1. webdav 是個(gè)好的方案。。。Server client都有 1
1.2. ftp也方便java lib實(shí)現(xiàn)server client。。。 1
1.3. Java內(nèi)容倉庫(Java Content Repository,JCR)??JackRabbit 1
1.4. Mongodb Smb nfs fastdfs 1
2. FastDFS特性及問題思考 1
2.1.1. 優(yōu)點(diǎn) 2
?
?
1.1.?webdav 是個(gè)好的方案。。。Server client都有
?
1.2.?ftp也方便java lib實(shí)現(xiàn)server client。。。1.3.?Java內(nèi)容倉庫(Java Content Repository,JCR)??JackRabbit?1.4.?Mongodb Smb nfs fastdfs?
?
Smb 服務(wù)端麻煩。。沒有好的java lib server實(shí)現(xiàn)。。。
?
nfs 也是沒有好的 java libserver實(shí)現(xiàn)
fastdfs?沒有l(wèi)ib實(shí)現(xiàn)模式,只能源碼安裝
2.?FastDFS特性及問題思考
? ? FastDFS是國人開發(fā)的一款分布式文件系統(tǒng),目前社區(qū)比較活躍。系統(tǒng)中存在三種節(jié)點(diǎn):Client、Tracker、Storage,在底層存儲(chǔ)上通過邏輯的分組概念,使得通過在同組內(nèi)配置多個(gè)Storage,從而實(shí)現(xiàn)軟RAID10,提升簡單負(fù)載均衡、并發(fā)IO的性能、及數(shù)據(jù)的冗余備份;同時(shí)通過線性的添加新的邏輯存儲(chǔ)組,從容實(shí)現(xiàn)存儲(chǔ)容量的線性擴(kuò)容。
? ? 文件下載上,除了支持通過API方式,目前還提供了apache和nginx的插件支持,同時(shí)也可以不使用對應(yīng)的插件,直接以Web靜態(tài)資源方式對外提供下載。目前FastDFS(V4.x)代碼量大概6w多行,內(nèi)部的網(wǎng)絡(luò)模型使用比較成熟的libevent三方庫,具備高并發(fā)的處理能力
?
?
2.1.1.?優(yōu)點(diǎn)
1)系統(tǒng)無需支持POSIX(可移植操作系統(tǒng)),降低了系統(tǒng)的復(fù)雜度,處理效率更高
2)支持在線擴(kuò)容機(jī)制,增強(qiáng)系統(tǒng)的可擴(kuò)展性
3)實(shí)現(xiàn)了軟RAID,增強(qiáng)系統(tǒng)的并發(fā)處理能力及數(shù)據(jù)容錯(cuò)恢復(fù)能力
4)支持主從文件,支持自定義擴(kuò)展名
5)主備Tracker服務(wù),增強(qiáng)系統(tǒng)的可用性
?
缺點(diǎn)
1)不支持?jǐn)帱c(diǎn)續(xù)傳,對大文件將是噩夢(FastDFS不適合大文件存儲(chǔ))
2)不支持POSIX通用接口訪問,通用性較低
3)對跨公網(wǎng)的文件同步,存在較大延遲,需要應(yīng)用做相應(yīng)的容錯(cuò)策略
4)同步機(jī)制不支持文件正確性校驗(yàn),降低了系統(tǒng)的可用性
5)通過API下載,存在單點(diǎn)的性能瓶頸
?
?
?
?