FastDFS笔记
FastDFS文件管理系統:分布式文件系統、網絡文件系統、多機器多文件分享存儲空間
FastDFS了解:
博客:https://www.cnblogs.com/Leo_wl/p/6731647.html#_label9
簡介:功能:上傳(存儲)、下載(訪問)、存儲系統同步
? ? ?解決問題:大容量、負載均衡
? ? ?適合場景:CMS圖片庫
? ? ?特點:客戶端控制訪問權限
? ? ?決定因素:數據存儲方式、數據讀取速率、數據安全機制
系統架構:
? ? ?跟蹤服務器:項目經理、管理(調度存儲服務器)者的角色、管理元信息少(內存存儲、storage匯報信息)、單位cluster(cluster每個tracker對等)------>元信息?
? ? ?存儲服務器:程序員、最底層勞動者、容量和備份數據、單位group(每個storage對等、互為副本)、group(項目組 優點:應用數據隔離、負載均衡、副本數定制 缺點:數據恢復只能依賴group里的其他副本慢!、單機容量小)
? ? ?客戶端client:客戶、安裝有Nginx的本地服務器
FastDFS存儲策略:
? ? ?卷即group、單位group(storage service的集合)、獨立
? ? ?整個系統文件容量 = 所有group容量++
? ? ?整個存儲空間不足-->動態添加group-->多臺storage配置為一個group,增加容量
? ? ?group里面的storage server不足時:增加程序員、并告訴他當前項目的進度(同步),程序員開始工作(上線)
FastDFS的流程:
? ? ?Tracker Server Cluster中的每個Tracker是對等的:每個項目經理對等、都可以接收不同客戶的需求
? ? ?上傳流程:Tracker接收客戶端上傳文件的請求、分配group-->分配storage server
? ? ? ? ? ? ? 客戶端向storage發送些文件的請求,storage server 分配存儲目錄-->分配一塊領域-->分配存儲文件的名稱
? ? ? ? ? ? ? 文件格式:組名/磁盤/目錄/文件名
? ? ?文件同步:說白了就是多線程copy? binlog(元信息日志)? 類似于redis持久化同步操作
? ? ? ? ? ? ? 同步進度以時間戳記錄、保證集群內所有server時鐘一致
? ? ?下載流程:客戶端請求任意traker、tracker server存儲元信息,可以根據文件名解析出group、大小、創建時間,選擇一個storage來服務讀請求
FastDFS方案:輕量級
? ? ?部署復雜程度:simple
? ? ?配置要求:common
? ? ?文件系統接口:可移植
? ? ?客戶端:需要配套
? ? ?目錄結構:不能指定
? ? ?產品級別:大中型
? ? ?成熟:比較成熟
? ? ?開發語言:C
? ? ?移行成本:較高!!!
? ? ?其他特點:不會對文件進行分塊處理、mongodb GridFS就是一種分片處理的方式
服務器端的安裝:
SpringBoot和FastDFS的整合:
https://blog.csdn.net/kokjuis/article/details/76614923
https://blog.csdn.net/qq741437836/article/details/74311802
步驟:
centeros的安裝:
https://www.cnblogs.com/sunshinekevin/p/8085554.html
測試成功:
安裝tracker服務器、client、storage service:
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /home/panda/Desktop/panda.jpg
返回結果:group1/M00/00/00/rBA3iVrbJUOAdEUSAAHOxFEuSI0192.jpg 存儲成功過了
安裝nginx:
下載:fastdfs-nginx-module模塊
fastdfs-nginx-module可以重定向文件連接到源服務器取文件,避免客戶端由于復制延遲導致的文件無法訪問錯誤。
tracker_server=172.16.55.137:22122
關閉命令:? service iptables stop?
永久關閉防火墻:chkconfig iptables off
traker server?
client server
storage server
成功實例:/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /home/panda/Desktop/panda.jpg 返回:group1/M00/00/00/rBA3iVrbPZeAee3eAAHOxFEuSI0557.jpg
nginx安裝fastDFS模塊? 最終結果:成功訪問 http://172.16.55.137:8888/group1/M00/00/00/rBA3iVrbPZeAee3eAAHOxFEuSI0557.jpg
全部啟動命令:
/etc/init.d/fdfs_trackerd start
/etc/init.d/fdfs_storaged start
/etc/init.d/nginx
轉載于:https://blog.51cto.com/13496382/2107536
總結
- 上一篇: 数据集之集合
- 下一篇: Android逆向之旅---爆破一款资讯