adfs3.0單點(diǎn)登錄 分布式文件系統(tǒng)FastDFS如何做到高可用?
分布式文件系統(tǒng)FastDFS如何做到高可用?大家好我是數(shù)據(jù)僧,下面是我對(duì)這個(gè)問(wèn)題的理解,不對(duì)之處還望不當(dāng)之處。什么是高可用?通俗的解釋講是在任何異常情況下,系統(tǒng)仍然能都正常提供服務(wù)。最好不要減輕系統(tǒng)不
分布式文件系統(tǒng)FastDFS如何做到高可用?
大家好我是數(shù)據(jù)僧,下面是我對(duì)這個(gè)問(wèn)題的理解,不對(duì)之處還望不當(dāng)之處。
什么是高可用?通俗的解釋講是在任何異常情況下,系統(tǒng)仍然能都正常提供服務(wù)。最好不要減輕系統(tǒng)不用下時(shí)間,以增加系統(tǒng)的后用時(shí)間。大部分明確的年用些時(shí)間99.99為標(biāo)準(zhǔn)。攤下來(lái)到每月都有不和用時(shí)間在幾十分鐘內(nèi)。怎么你做到高可用?1,系統(tǒng)設(shè)計(jì)上以免建議使用單點(diǎn)。2,自動(dòng)啟動(dòng)故障轉(zhuǎn)移。我們下面來(lái)看看FastDFS是如何能你做到這兩點(diǎn)的。實(shí)際下圖來(lái)打聽(tīng)一下下FastDFS的架構(gòu)。
Trackerserver要注意作用是負(fù)載均衡和調(diào)度,通過(guò)Trackerserver在文件上傳時(shí)可以不依據(jù)一些策略找不到Storageserver需要提供文件上傳服務(wù)。Trackerserver可以不由一臺(tái)或者N臺(tái)服務(wù)器混編。是可以完全增加的或登陸游戲不可能影響線上服務(wù),而可以不依據(jù)線上服務(wù)器的壓力情況一旦提高或者減少。
Tracker專門(mén)負(fù)責(zé)管理的管理Storage和group。每個(gè)storage會(huì)去連結(jié)Tracker,并切報(bào)告自己隸屬的group等信息,并盡量和Tracker周期性的心跳。tracker據(jù)storage的心跳信息確立group-storageserverlist的映射表。所有的元信息大多,都存儲(chǔ)在內(nèi)存中。這樣因而Tracker太太容易擴(kuò)展。
Storageserver:是可以稱做存儲(chǔ)服務(wù)器。客戶端本地上傳的文件結(jié)果存儲(chǔ)文件在Storage服務(wù)器上,Storageserver沒(méi)有實(shí)現(xiàn)自己的文件系統(tǒng)而是用來(lái)操作系統(tǒng)的文件系統(tǒng)來(lái)管理方面文件。存儲(chǔ)系統(tǒng)由一個(gè)或多個(gè)組橫列,組與組之間的文件是互相獨(dú)立的,所有組的文件容量累加是整個(gè)存儲(chǔ)系統(tǒng)中的文件容量。
文件上傳流程
1,Client想上傳圖片,它先向Tracker進(jìn)行詢問(wèn),Tracker查看下登記相關(guān)信息之后,告知Client哪個(gè)storage當(dāng)前空閑,Tracker會(huì)把IP和端口號(hào)都趕往給Client,Client在搞到IP和端口號(hào)之后,便不再必須是從Tracker,再便向Storage并且上傳圖片,Storage在保存圖片的同時(shí),會(huì)向Tracker并且匯報(bào),告知Tracker它當(dāng)前是否是還留有剩余空間,以及殘余空間大小。做了匯報(bào)完之后,Storage將服務(wù)器上存儲(chǔ)圖片的地址趕往給Client,Client可以拿著這個(gè)地址進(jìn)行訪問(wèn)圖片。
我們來(lái)了解下文件索引信息。要注意除了:組名,虛擬磁盤(pán)路徑,數(shù)據(jù)兩級(jí)目錄,文件名。追加所示:
我們來(lái)看一下文件索引的具體詳細(xì)解釋和組成部分:
組名:文件上傳后原先的storage組名稱,在文件上傳最終后由storage服務(wù)器回,必須客戶端無(wú)法存放。
虛擬充值磁盤(pán)路徑:storage配置的虛擬店路徑,與磁盤(pán)選項(xiàng)store_path*對(duì)應(yīng)。要是配置好不好了store_path0則是M00,如果沒(méi)有電腦配置了store_path1則是M01,以此類推。
數(shù)據(jù)兩級(jí)目錄:storage服務(wù)器在每個(gè)虛擬物品磁盤(pán)路徑下創(chuàng)建家族的兩級(jí)目錄,主要是用于存儲(chǔ)數(shù)據(jù)文件。文件名:與文件上傳時(shí)差別。是由存儲(chǔ)服務(wù)器依據(jù)特定的事件信息生成沉淀,
文件名包涵:源存儲(chǔ)服務(wù)器IP地址、文件創(chuàng)建角色時(shí)間戳、文件大小、隨機(jī)數(shù)和文件拓展名等信息
文件下載流程
如圖1FastDFS直接下載的時(shí)序圖
圖解:
Storage Server啟動(dòng)時(shí)后會(huì)主動(dòng)去連結(jié)TrackerServer,周期性向Tracker Server郵箱里心跳。
然后再client去問(wèn)tracker下載文件的storage,參數(shù)為文件標(biāo)識(shí)(組名和文件名),tracker直接返回一臺(tái)用些的storage。
結(jié)果client直接和storage通訊完成文件下載。
我們?cè)趤?lái)看看吧FastDFS可以下載的運(yùn)行的示意圖
FastDFS高可用架構(gòu)實(shí)踐。
如果FastDFS壓力過(guò)大此時(shí)我們?cè)趺丛趯?duì)這個(gè)架構(gòu)接受優(yōu)化呢?我們可以不使用ATS做文件緩存服務(wù)。
我們通過(guò)對(duì)FastDFS中的Trackerserver和Storageserver的工作流程的了解,這些上傳的圖片和直接下載的具體一點(diǎn)場(chǎng)景圖列,也可以發(fā)現(xiàn)自己它能夠做到了冗余數(shù)據(jù),能做到了自動(dòng)出現(xiàn)故障轉(zhuǎn)移。以上那就是我這個(gè)問(wèn)題的理解。
我們共同交流FastDFS的咨詢問(wèn)題。在評(píng)論區(qū)給我留言,我們一同繼續(xù)討論,堅(jiān)持了沒(méi)更新對(duì)這個(gè)問(wèn)題的理解。
新手學(xué)JAVA培訓(xùn)班都要學(xué)哪些知識(shí)???
這對(duì)Java初學(xué)者來(lái)說(shuō),建議的學(xué)習(xí)路線是從基礎(chǔ)到高級(jí)十階式的。不論做什么事情也是要踏踏實(shí)實(shí)走好每一步的再去做,尤其是去學(xué)習(xí)這樣的事情,極其是不能夠一蹴即至的,必須從基礎(chǔ)內(nèi)容不要急于求成的并且怎么學(xué)習(xí)。
學(xué)習(xí)那像蓋樓房一樣的,要牢固的基礎(chǔ),只要你地基打好做的勻稱,才還能夠看見(jiàn)萬(wàn)丈高樓平地起,學(xué)習(xí)確實(shí)是差不多,唯有把基礎(chǔ)打好,在以后在也能發(fā)展中的更好。
新手學(xué)JAVA培訓(xùn)都要學(xué)哪些知識(shí)
第一階段:是去學(xué)習(xí)Java的基知識(shí)
01Java編程語(yǔ)言總體概述
02Java基礎(chǔ)語(yǔ)法
03Java數(shù)組
04面向?qū)ο缶幊?/p>
05高級(jí)類特性
06JavaAPI
07異常處理
08真包含于與泛型
09JavaIO流
10Java多線程
11JavaReflection(Java反射)
12網(wǎng)絡(luò)編程
13Java8新特性
14Java9/Java10/Java11新特性
15比較經(jīng)典項(xiàng)目
第二階段:是學(xué)習(xí)Mysql數(shù)據(jù)庫(kù)相關(guān)知識(shí)
01Mysql基礎(chǔ)
02SQL語(yǔ)言
03JDBC
04DBUtils
第三階段:學(xué)習(xí)色web開(kāi)發(fā)與實(shí)戰(zhàn)技術(shù)
01HTML與CSS3
02JavaScript
03jQuery
04AJAXampJSON
05XML
06bootstrap
07Web服務(wù)器基礎(chǔ)
08Servlet
09JSP
10JSTL
11EL
12CookieampSession
13FilterampListener
14國(guó)際化
15文件上傳下載
第四階段:是Java的經(jīng)典流行框架的使用
01Dubbo
02SpringBoot
03SpringCloud
04Docker
05NIO
06FastDFS
07Elasticsearch
08Thymeleaf
09MyCat
10ActiveMQ
11ECharts
12分布式事務(wù)
13單點(diǎn)登錄
14Zookeeper
第五階段:Java初級(jí)和前沿技術(shù)成果的學(xué)習(xí)
01Dubbo
02SpringBoot
03SpringCloud
04Docker
05NIO
06FastDFS
07Elasticsearch
08Thymeleaf
09MyCat
10ActiveMQ
11ECharts
12分布式事務(wù)
13單點(diǎn)登錄
14Zookeeper
第六階段:企業(yè)國(guó)際對(duì)接項(xiàng)目以在線教育客戶案例實(shí)操
01Vue
02ES6
03MybatisPlus
04課程中心微服務(wù)壘建
05課程中心微服務(wù)功能實(shí)現(xiàn)方法
06前后端分離技術(shù)
07后臺(tái)管理系統(tǒng)前端頁(yè)面的堆建
08課程中心前端功能利用
09阿里云OSS
10云存儲(chǔ)微服務(wù)
11POI你的操作Excel
12課程都差不多信息管理
13阿里云VOD
14SpringCloud服務(wù)發(fā)現(xiàn)
15社交直接登錄-登錄
16SpringCloud配置中心
17SpringCloudHystrix
第七階段:又要學(xué)大數(shù)據(jù)查找技術(shù)。
01大數(shù)據(jù)技術(shù)概論
02Hadoop總體概述與按裝
03HDFS偽分布式文件
04YARN
05MapReduce請(qǐng)賜教
06Hadoop-HA高可用
07HDFS徹底分布式
08Hive入門(mén)學(xué)習(xí)
09Hive深入
10Hive有高級(jí)
2020java學(xué)習(xí)路線圖