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